Isolate problems with optional effects off, one layer and a valid orthographic camera. Add looping and atmosphere back one feature at a time.
Setup and movement#
| Problem | Check or fix |
|---|---|
| Tools menu missing | Compilation, correct package folder and Editor assembly. Configure your asmdef for namespace errors. |
| Layer invisible | Sprite, renderer/Visible flags, alpha, culling/clipping, geometry and sorting. |
| Camera moves without parallax | Target Camera, active Manager/layer and Parallax Enabled. Auto Scroll intentionally ignores camera displacement. |
| All layers move alike | Different X/Y factors; placement does not choose speed. Factor one is screen-stationary. |
| Stationary runner stays still | Auto Scroll, velocity/multiplier, scrollPaused false and valid camera frame. |
| Ground drifts | Set ground autoScrollMultiplier zero and keep gameplay/collisions separate. |
| Scenery moves after camera pause | Pause Manager.scrollPaused separately from sample camera. |
| Removed runtime layer returns | RemoveLayer(false) retains it for rediscovery; explicit true destroys in Play Mode. |
| Camera switch/teleport jump | Ownership and execution order. SetCamera preserves positions by default; shift geometry together before origin Rebaseline. |
Looping and coverage#
| Problem | Check or fix |
|---|---|
| Seams/black lines | Tileable edges, Full Rect, PPU/world bounds, padding/filter/compression and zero spacing. Mirroring is not an automatic fix. |
| Zoom-out gaps/budget warning | Coverage versus Max Tiles and quality cap; try larger tiles, suitable custom budgets or less padding/zoom-out. |
| Wrong loop geometry | Simple SpriteRenderer, axis-aligned source/camera, correct Source and tile override. Pivot/PPU remain meaningful. |
Generated sprites do not clone colliders, Tilemaps or child gameplay. A bounded painted sample is not automatically tileable.
Clock, lighting and atmosphere#
| Problem | Check or fix |
|---|---|
| Hour does not change colors | Environment Colours, correct Clock/Manager, gradient keys and layer tint weight. |
| Sun/Moon invisible | Sprite/renderer references, visibility, alpha/daylight fading, ellipse and sorting. |
| Rays invisible | Use Lightweight/URP2D instead of BasicTint; inspect art, opacity/intensity, owner and quality cap. |
| URP2D output warning | Active/enabled bridge, compatible interface and compiled assembly. Configure the pipeline separately. |
| Light2D does not light art | Active 2D Renderer, Sprite Lit material, affected layers, intensity and range. |
| Wind has no effect | Assigned visual children, nonempty Targets, nonzero strength/multiplier/bend/Direction X. Layer roots are skipped. |
| Fog missing/tint conflict | Valid bands/material/alpha/sorting/coverage; keep bands outside layer roots in standalone atmosphere. |
| Clouds do not move/fade | Art/layer/clock, opacity/velocity, enable state and competing tint/transform writers. |
| Fireflies missing by day | Expected Night Only behavior; test Hour zero, valid clock, emission and qualityEmission. Retune after Configure. |
Presets and runtime integration#
| Problem | Check or fix |
|---|---|
| Preset does not replace art | Intended for existing layers; preset sprite is used when creating a missing layer with true. |
| Transition jumps/fights | Pause Automatic clock, use unique layer names and resolve cloud/gameplay tint ownership. |
| UI callback fails | Correct object/public method, Dynamic float for time events, valid EventSystem/UI/Input dependencies. |
| Runtime changes disappear | Author/save in Edit Mode. Runtime CaptureFrom stays in memory rather than saving an asset. |
| Null-safe call produces nothing | Correct environment, active controllers and valid sprites/bands/materials; calls do not create every scene resource. |
For a reproducible issue, retain relevant Console output and isolate your scene/camera/mode/references before reintroducing effects. Verify actual target-build rendering/input/performance separately from guide screenshots.