A procedural American desert location generator and a complete "roadside incident" diorama, built for Unity 6 and the Universal Render Pipeline.
Generate a desert in one click. Pick one of five presets, a seed and a size from 64 to 1024 metres, and the generator builds the relief, the material masks and the object placement for you — deterministically. The same generator version, preset, seed and size always produce the same world, in the editor and in a build, so a location you like is reproducible from three numbers.
WHAT YOU GET
Location generator
- Five presets: Playa (flat cracked lake bed), Dunes (wind-ridged sand seas), Rocky Desert (broken ridges and boulder fields), Dry Wash (incised channels and gravel banks), Joshua Desert (rolling high desert with Joshua trees and yucca).
- Editor window: Tools > Isometric American Desert > Location Generator. Preset, seed and size, then Generate; Save As Scene Default writes the three values onto the scene so Play mode and builds reproduce the same world.
- Runtime C# API: IadLocationGenerator.FindOrCreate(), RequestGenerate() for a coroutine-driven build with progress, GenerateNow() for the identical pipeline run to completion, SaveRecipe()/LoadRecipe() to persist a world as JSON, DestroyWorld() to clear it. Telemetry reports triangle counts, instance counts, per-role placement and a fingerprint you can assert in your own tests.
- Terrain-driven scatter: rocks follow slope, plants follow the drainage lows, and a baked relief placement map (low ground, concavity, proximity to rock, flatness) gates stones and weights vegetation. A hard ceiling of 6000 instances per world, whatever the size.
- A clear desert sky: thin-atmosphere procedural sky tuned for high desert air — a blue zenith, a pale band at the horizon and no green cast — over a warm haze whose colour is the scene fog exactly, so terrain that has faded fully into distance meets the sky with no visible line. Wide, horizon-level framings hold up as well as the isometric ones.
- No edge, no void: the generated map continues seamlessly into a procedural surround and a fogged horizon. The surround is built on the map's own lattice from the same height function, so its border vertices are the map's border vertices — the same relief, the same ground material, its own tapering scatter — and it runs out into a flat, fog-matched apron at the horizon. A generated world reads as open desert from every angle instead of a square tile floating in the sky colour. The surround carries no colliders and is reported separately in the telemetry (surroundTriangles, surroundInstances), so it never changes the map's own bounds, fingerprint or instance counts.
Shaders
- Four-layer PBR desert ground: sand, gravel, cracked playa and rock on the slopes, with analytic procedural stones (per-stone tone, ambient occlusion at the base, a contact ring), world-space masks, a detail-split break-up layer and distance darkening.
- A tessellated variant of the same shader with screen-space edge subdivision and displacement, for close-up shots. It declares the plain shader as its fallback, so unsupported hardware degrades gracefully instead of turning pink.
- A prop shader for rocks, vehicles, actors and the saucer: PBR base, the shared detail-split break-up, a pearlescent N-dot-V falloff and an axial shade tint.
Prefab library — 123 prefabs, every one with an identity root transform
- Rocks: hero slab clusters, boulders, ten desert slabs, loose stones and pebbles, with three detail levels on the hero pieces.
- Vegetation: Joshua trees in three sizes with LOD groups, saguaro, prickly pear, barrel cactus, agave, yucca, creosote, sage, dry shrubs, two grasses, tumbleweeds and dead branches.
- Vehicles: four patrol/sheriff sedans and a utility pickup. Body and wheel are separate assets — the four wheel instances of a vehicle reference one shared wheel mesh — with three body detail levels each and a DesertVehicleController driving four WheelColliders.
- Saucer: hull, entrance door and ramp as independently movable parts, driven by SaucerSequenceController through arrival, landing, door open, ramp extend and alien exit as separate stages.
- Actors: a rigged alien plus standing and fallen human and alien figures, and aftermath dressing.
Two sample scenes
- Generated_Location_Demo — the generator scene: camera, sun, sky and post volume. Press Play, or generate straight from the editor window.
- Reference_Demo — the authored diorama with baked lightmaps and light probes: a landed saucer, five vehicles, actors, rocks, vegetation, tyre tracks and aftermath decals.
Render settings included: a URP pipeline asset, its renderer (with the Decal feature the diorama uses) and a post-processing volume profile with tonemapping, colour grading, bloom, vignette and Unity's built-in Depth of Field. The package never edits your project settings — you point your project at them, or copy the values across.
Third-party content: six Poly Haven PBR texture sets (CC0-1.0) are included and credited in ThirdPartyNotices.md inside the package, together with the AI/ML disclosure. Everything else is original work.