Summary
A book nook for your desktop: a real, lit, three-dimensional miniature world in an opaque framed window docked to one screen edge. It reacts to the actual time of day and to whether you are at the machine. Five scenes ship together in one application.
There is no economy, no currency, no upgrades and no idle tick. The unit of engagement is the glance.
The problem
The entire product has to prove within five seconds that it is not a video. Nothing else it does matters if it fails that. Everything therefore sits on presentation – real lighting, real depth, real reaction to a real clock – while running quietly enough in the background that nobody closes it to get their machine back.
That second constraint is the harder one. An ambient toy that costs meaningful CPU or GPU while idle is an ambient toy that gets uninstalled.
What I built
All of it. The window and docking behaviour, the camera and preview systems, lighting, the content and save architecture, scene switching, post-processing and colour, the weather and activity reactivity layer, and the guards that keep the whole thing inside its budget.
One constraint is worth naming because it shaped the art pipeline: ground plates are cut, never scaled. Transform scale multiplies texel size one to one, so a purchased ground plate shrunk to fit an island renders three-centimetre cobbles next to buildings at full scale. The fix was an editor tool that clips plates at scale one, and the rule that an island is small by size rather than by triangle count.
Technical detail
Unity 6 on URP Forward+, Windows only, with a strict interop boundary isolating every Windows-specific call behind one platform layer. Reactivity reads the wall clock and system idle state and nothing else – a deliberate privacy contract, not an accident of scope.
Correctness is enforced by a harness of over a hundred and thirty self-tests run in both orders to catch order dependence. A green compile check proves the editor works and never proves a shader variant does, which is why the player build is part of the gate rather than an afterthought.