CANNA_Sky


...


by CANNA_Code


Price History +

CANNA Sky is a complete, lightweight sky and day/night cycle system for Unity URP. This is not a template or a prototype. CANNA Sky was built for and is actively used in Paradise Hills, an original VR game currently in development by CANNA Coding. Every slider, every curve, every shader line has been tested in a real VR project with real performance requirements.


The goal behind releasing these assets is simple: to give every developer — regardless of budget or team size — access to the same tools, so you can create your own VR world.


Drop in some prefabs, assign your lights, and your world comes alive with a physically inspired sun arc, a full moon system with phases and lunar eclipse, a procedural star field with per-star twinkling, and a rich atmospheric sky gradient that transitions seamlessly from sunrise through noon to sunset and into night.


Every visual parameter is exposed and tweakable directly in the Inspector — with more controls planned for future updates. The day/night cycle runs automatically, or you can drive timeOfDay from your own scripts for cutscenes, scripted weather events, and time-of-day triggers.


Additional assets from the CANNA Coding ecosystem will be made available once they have been fully tested and validated to meet a true production standard — not just good enough for one game, but flexible and robust enough for any vision.


Key Features

-Day/Night Cycle

-Smooth 24-hour time cycle driven by a single normalized timeOfDay float (0–1)

-Adjustable time speed — from real-time (24 min/day) to fast-forward (seconds/day)

-Pause/resume time at any moment while still being able to drag the time slider manually

-Full Edit Mode preview — all sky changes reflect instantly in the Scene View without entering Play Mode

-Sun System

-Physically based sun orbit driven by latitude (-90° to 90°), axial tilt (seasons), and north direction

-Adjustable sun disc size, glow halo size, glow intensity, and disc color

-Animated sun light color gradient and intensity curve over the full day cycle

-Sunrise and sunset light color transitions built into the gradient

-Moon System

-Full moon orbit with configurable orbit tilt for realistic lunar path drift

-Moon phase system — full moon, waning/waxing quarters, new moon, with a physically correct elliptical terminator

-Moon disc with optional surface texture (craters, custom art, or plain disc)

-Rim glow along the lit edge, with configurable size and falloff

-Wide atmospheric halo with separate brightness control

-Moon opacity and overall brightness multiplier

-Moon phase orientation angle — rotate the terminator to match any hemisphere

-Moonlight fades automatically at dawn and dusk with a configurable fade margin

-Shadow matrix updates correctly as the moon orbits (no baked shadow direction bug)

-Lunar Eclipse System

-Full blood moon eclipse effect with a 0–1-0 blend slider

-Custom eclipse color (default blood red — change to orange, amber, or any color)

-Eclipse master toggle — enable only when needed, zero cost when off

-Eclipse shadow orientation angle matches phase terminator for consistent visuals

-Procedural Star Field (shader-based, no texture required)

-Fully procedural stars generated in the skybox shader — no star texture needed

-Stars automatically fade out during the day and near the horizon — no manual control needed

-Each star has a unique color tint ranging from cool blue-white to warm yellow-white, mimicking real stellar color variation

-Stars are automatically masked so they never render on top of the moon disc

-A secondary "large star" highlight layer adds extra-bright points for the top ~8% brightest stars, giving the sky natural depth

(Full star field controls — density, size, brightness, twinkle speed, and twinkle amount — coming to the Inspector in a future update)

-Sky Atmosphere

-Separate day and night sky colors for both zenith and horizon — 4 color controls total

-Sunset/sunrise tint color with spread and horizontal falloff control

-Horizon sharpness slider — from a sharp color band to a wide smooth gradient

-Ground color for the below-horizon area of the sky dome

-Animated ambient light color gradient and intensity curve over the full day

-Day and night URP post-processing Volume blending — assign a day profile and a night profile and they cross-fade automatically


Performance & VR


-Configurable update rate (1–60 Hz) — run sky updates at 20 Hz in VR for a ~3x CPU reduction with no visible difference

-Edit Mode fully bypasses the throttle so Inspector tweaks are always instant

-Single Pass Instanced stereo rendering — VR-safe out of the box

-No FindObjectsByType overhead at runtime — auto-assigned sun light search runs exactly once

-Shader property IDs cached at startup — no per-frame string lookups

-RenderSettings.ambientMode set once at Start, not per frame

-Star field rendering skipped entirely during daytime (shader gate)

-Zero external dependencies — no packages beyond Unity URP required


Developer API


-Read DaylightFactor (0–1) from any script to drive gameplay, audio, AI, and spawn systems

-Drive timeOfDay directly for cutscenes and scripted events

-SunDirection and MoonDirection vectors available for use in custom shaders and lighting

-All sky parameters accessible as public fields — easy to animate or drive from a weather system


What's Included


-CANNA_DayNightCycle.cs — the day/night cycle MonoBehaviour

-CANNA_Skybox.shader — the URP skybox shader

-CANNA_Sky.mat — a ready-to-use pre-configured skybox material

-Moon Textures

-CANNA_ Day and Night Volume Profiles

-Full README with Inspector reference, function documentation, shader property table, and code examples


-Demo Scene in images are *** Not Included ***


Requirements


Unity 6.3+ (developed and tested on Unity 6.3)

Universal Render Pipeline (URP) — required

No other packages or dependencies


About CANNA Coding


CANNA Sky was built for Paradise Hills, an original VR game currently in development by CANNA Coding — a solo indie project with a big vision. Releasing these assets is part of a larger mission: to fund continued development of Paradise Hills and to share production-tested tools with the wider developer community.


Every asset released under the CANNA Coding name goes through thorough testing before it's listed — not just tested to work in one game with one art style, but tested to be flexible and solid enough for developers with completely different visions and requirements. What works for Paradise Hills needs to work for your game too, whatever that looks like.

More assets will be made available as they are completed and validated to that standard. If you want tools made by someone who is actively building with them — not just selling them — this is the right place.


A Note on How This Was Made


CANNA Sky was built through a collaboration between human creativity and AI assistance. CANNA_Chris — the designer and developer behind Paradise Hills — brings the game development knowledge: what systems need to do, how they need to perform in VR, and what a real project actually demands. AI brings the language fluency: translating that design intent into clean, correct code.

This approach is honest, and it matters: AI alone produces code that compiles. A game developer alone may not know every shader intrinsic. Together, the result is an asset that works the way a developer actually needs it to — because it was shaped by someone who has to live with it in production every day.


***Star Field — Hidden Shader Controls ***


The star system has deep controls built directly into the shader material. These are currently accessible by editing the material properties directly, with full Inspector exposure planned for a future update. If there are any questions you can message me and I will respond ASAP.