A sky for Unity 6 URP that also lights your game.

Volumetric clouds, a real day-night cycle, and one weather dial that takes you from clear to storm — over a grass field that bends in the same weather, on rolling hills, with moss that grows over the stones while the game runs.

Most sky shaders hand you a pretty backdrop and a lighting bug: the sky turns orange at dusk while your directional light stays white, and the world is lit at noon under a sunset. Firmament ships a rig that closes that gap. One time of day value sets the sun's angle, its colour, its intensity, the moon, the ambient level and the fog — so the scene is lit by the sky the player can actually see.

Also for Godot — Firmament for Godot 4: the original edition, as two Godot 4 addons: three sky shaders off one core for Forward+, Compatibility and Mobile, with the same rig, weather dial, grass, hills and moss, and a playable of its own. Sold separately.

Also for Defold — Firmament for Defold: the sky, the day-night cycle, the weather dial, the hills and the grass, with moss on the stone circle, as a Defold project with a playable of its own. Sold separately.

The demo above is the thing you are buying, built for the browser. Set the clock, the weather, the preset, the moss's growth and the hills from the panel, then drag to look and fly with WASD, E or Space to climb, Q or Ctrl to sink and Shift to go faster.

EngineUnity 6 (6000.0 LTS) — built and tested on 6000.0.76f1
PipelineUniversal Render Pipeline 17 only — not Built-in, not HDRP
Colour spaceLinear, with HDR — Firmament → Configure Project sets both
InputThe Input System package, the legacy Input Manager, or both
Tested onThe Unity 6 editor on macOS, and the WebGL 2 build in the browser
NeedsNo textures, no compute shaders, no packages beyond Unity's own — C# and shaders
You getThe Firmament and Firmament Moss runtimes, the demo scene, the stone circle and a 20-model landscape kit
LicenceUnlimited commercial projects, no royalty, attribution not required

At a glance

FeatureIn this edition
Volumetric skyRaymarched clouds, marched at half resolution by a URP renderer feature, under a full-resolution atmosphere, sun, moon and stars; a cheap flat sky material too
Fog and tonemapURP renderer features: distance and height fog coloured by the rig, and an ACES filmic tonemap
Day-night rigOne clock sets the sun, the moon, the ambient light, the fog and a sky reflection probe, from real solar geometry (latitude and day of year)
Weather dialOne value from clear to storm, read by the clouds, the light and the grass's wind
PresetsSix sky materials: clear morning, fair weather, broken cloud, overcast, storm and alien dusk
HillsEndless terrain, Flat, Rolling or Hilly; flatten pads; collision that follows the camera; HeightAt and NormalAt for placing your own objects
GrassInstanced, wind-animated patches that wrap around the camera, on flat ground, on the hills, or on your own Unity Terrain or heightmap
Stone circle63 stones, about 75k triangles, as FBX
Landscape kit20 boulders, outcrops, walls and dead timber, as FBX
MossGrows on opaque URP Lit models while the game runs, with cushions that stand up from the stone up close
Torches and firefliesIn the demo scene, fading out at sunrise
TexturesNone. The clouds, the atmosphere, the stars, the grass and the moss are all procedural
Playable demoThe Unity build, in the browser, at the top of this page

☀️  One clock lights the scene — the rig and the presets

FirmamentRig drives the directional sun and moon, the ambient light, the fog, the sky material and a sky reflection probe from a single clock, using real solar geometry: set the latitude and the day of the year and the sun rises where it would, at the height it would. Every light in the scene follows the sky, so dusk is lit like dusk. The reflection probe captures the sky alone, a face per frame, so reflections follow the time of day without redrawing the scene.

Six presets come with it as sky materials — clear morning, fair weather, broken cloud, overcast, storm and alien dusk — each a starting point: duplicate one and change any colour, because nothing in them is painted.

 

🌦️  The weather dial — one value, clear to storm

One value, 0 to 1. It moves coverage, density, absorption, cloud-top height and edge erosion together, because those five move together in the real sky — asking you to keep them consistent by hand would be asking you to do the shader's job.

Erosion is tied to it deliberately: billowed, cauliflower edges belong to fair-weather cumulus. A storm deck is one solid sheet, and applying cumulus erosion to it punches holes that show blue sky through an overcast.

 

🌾  Grass that answers the same dial — on your own ground too

FirmamentGrass draws a field of wind-animated blades as instanced patches that wrap around the camera, so the field never runs out. Point it at the rig and the wind comes off the same weather value as the clouds — turn the dial toward a storm and the cloud thickens, the sun dims and the field starts to move, because in the real world those are not three separate settings.

It plants on three kinds of ground: flat, Firmament's own hills, or yours — a Unity Terrain read straight from its heightmap, or a single-channel texture with the world rectangle and height range it covers, outside which no blade is drawn. Density, view distance, dryness and blade height are on the component.

 

⛰️  Rolling hills — endless, with nothing to import

FirmamentTerrain is endless: the land is computed, not stored, so it goes on to the horizon in every direction with nothing to import. Pick Flat, Rolling or Hilly, or set the height, scale and roughness yourself. A flatten pad seats a building or the stone circle on level ground. A collision patch follows the player or the camera, and HeightAt and NormalAt return the same ground the terrain draws, for placing your own objects.

 

🌿  Moss that grows while the game runs — on your own models

FirmamentMoss points at a model and grows moss over every mesh under it, where moss would grow: on tops and ledges where rain collects, on the side of a stone the sun seldom reaches, up the damp foot of every stone and in the hollows. Sunny faces and sharp edges stay bare. Nothing is painted and nothing is authored per model — no textures, no UVs, no import step. One Growth value takes a model from bare stone to overgrown; animate it and a ruin greens over in front of the player.

Point it at the rig and the moss soaks through to a deep green under rain cloud and dries out slowly after, and the shaded side follows the latitude. Near the camera it is drawn as cushions with real depth that break the outline of an edge; further off, flat on the surface. It is made for opaque URP Lit materials and carries their base colour, base map and smoothness across.

 

🗿  The stone circle and the landscape kit — 63 stones and 20 models

The monument in the demo comes with the pack, under the same licence as everything else. 63 stones, about 75k triangles, one mesh, no textures: the weathering is baked into vertex colours, drawn by the vertex-colour Lit shader that comes with it, so damp dark bases, rain-pale tops and lichen patches cost nothing to ship. It follows the real plan and the real ruin — a surviving run of lintels, two broken trilithons, fallen stones, an altar stone and a heel stone.

The landscape kit is 20 boulders, outcrops, walls and dead timber in the same stone, as FBX; the demo scatters most of them round the circle.

 

🎨  Built on URP — renderer features, and not one texture
  • FirmamentCloudFeature marches the volumetric sky's clouds at a fraction of the camera's resolution — half by default, a quarter of the pixels — before the skybox draws, so the atmosphere, the sun, the moon and the stars stay sharp. Clouds are soft, so it looks the same.
  • FirmamentFogFeature adds distance and height fog once the opaque scene and the sky have drawn, in the colour the rig gives it.
  • An ACES filmic tonemap, as a renderer feature of its own.
  • Firmament/Sky Flat — domain-warped 2D clouds, very cheap. Convincing from the ground; it is a painted ceiling if you fly through it.

Firmament → Configure Project switches the project to Linear colour and HDR, adds the three features to the Firmament renderer, and makes the Firmament URP asset the project's active pipeline. For the browser, webSkyQuality on the rig lowers the cloud and light steps; the demo above uses it.

Everything is procedural — the cloud shapes, the atmosphere, the stars, the moon. That is why there is nothing to import, and why you can change any colour without repainting anything.

 

⚠️  What it is not — the edges
  • The weather dial is the sky's: cloud, light and wind. There is no rain or snow.
  • URP only. Not the Built-in pipeline, not HDRP.
  • The moss is made for opaque URP Lit materials. It carries their base colour, base map and smoothness, not normal maps or emission, and it grows on mesh renderers, not skinned meshes.
  • The torches and fireflies are part of the demo scene. They are there to show the night, and you are free to keep them.
  • The flat sky is a painted ceiling, not a volume: fly into it and it stays overhead.
  • It is tested in the Unity 6 editor on macOS and in the WebGL 2 build. Other build targets have not been tested.

 

📥  What you download, and the licence — one zip

The download

Unity 6 URP project — demo scene + Firmament.unitypackageThe whole Unity 6 project — runtime, moss, demo scene, models and documentation — with Firmament.unitypackage inside it to import into a project you already have

The licence

Use it in commercial and non-commercial projects, unlimited titles, no revenue cap. Modify it freely. Attribution appreciated, not required. You may not resell or redistribute the asset itself.

Full terms are in Assets/Firmament/LICENSE.txt and Assets/FirmamentMoss/LICENSE.txt.


Building water too? Tidewater is a transparent ocean for Unity 6 URP — surf, buoyancy, wakes and underwater — from the same studio.

Purchase

Get this asset pack and 1 more for $10.00 USD
View bundle
Buy Now
On Sale!
60% Off
$9.99 $3.99 USD or more

In order to download this asset pack you must purchase it at or above the minimum price of $3.99 USD. You will get access to the following files:

Unity 6 URP project — demo scene + Firmament.unitypackage 7.2 MB
Version 3.4.4

Leave a comment

Log in with itch.io to leave a comment.