If Additional Lights, decals, or a renderer feature work in the Unity Editor but disappear in build, the root issue is usually pipeline configuration drift between quality tiers or aggressive stripping during player build.
This guide gives a fast path to confirm the active URP asset chain, fix build-time stripping mistakes, and verify the same lighting behavior in release output.
Problem summary
Common symptoms:
- Additional Lights affect objects in Editor but not in player build.
- Renderer features such as decals, outlines, or custom passes vanish in build.
- Only one platform or quality level is broken.
- Build logs show shader, pass, or feature warnings.
Why this matters:
- Visual quality drops without obvious scene-level errors.
- Teams lose time tweaking materials when the issue is asset selection or stripping.
Root causes
Most URP build-only lighting failures come from one of these:
- Quality tier points to a different URP asset than the one tested in Editor.
- Renderer Data mismatch (Forward Renderer, 2D Renderer, custom renderer asset not attached in active URP asset).
- Additional Lights settings differ between expected and active URP asset.
- Shader/variant stripping removes required keywords or passes for runtime path.
- Build script overrides quality or pipeline settings in CI.
Step-by-step fix
Step 1 - Confirm active URP assets for Graphics and Quality
Open both:
Project Settings > GraphicsProject Settings > Quality
For every target quality level, confirm the assigned URP pipeline asset is intentional and matches your tested setup. Many teams test "High" in Editor while build launches in a tier mapped to a different pipeline asset.
Step 2 - Validate Renderer Data wiring
For each active URP asset:
- Open
Renderer List. - Confirm expected Renderer Data asset is present.
- Confirm renderer feature order and enable state.
- Ensure the scene or camera uses the intended renderer index if custom routing exists.
If the wrong renderer data is active, features can silently disappear in player build.
Step 3 - Check Additional Lights settings on the active asset
In the active URP asset:
- Verify
Additional Lightsis enabled. - Verify per-object light limit is not too restrictive.
- Verify shadow settings are compatible with target hardware tier.
If these settings are only enabled on your Editor-tested asset, build output can look like lights are broken.
Step 4 - Relax stripping and isolate the failing flag
During troubleshooting:
- Reduce stripping aggressiveness in URP settings.
- Rebuild once.
- Re-enable stripping options one by one.
- Keep notes of the exact option that reintroduces failure.
If your CI build script applies additional stripping flags, align it with local build settings before final validation.
Step 5 - Build a deterministic validation scene
Create one small test scene containing:
- one directional light
- two or more Additional Lights
- one object that depends on your renderer feature
- one camera matching production settings
Run this scene in Development Build and production-like build. If results differ, compare logs and active quality tier at startup.
Verification checklist
- Additional Lights render correctly in player on intended quality tiers.
- Required renderer features execute in build, not only in Editor.
- No new shader or pass warnings appear in player log for affected content.
- Local and CI builds show matching behavior for the same commit and platform.
Alternative fixes for edge cases
- Addressables-loaded materials/prefabs: rebuild catalog and verify renderer-dependent shaders are included.
- Platform API differences: compare Vulkan/Metal/D3D path and test with one fallback API.
- Camera stacking setups: confirm base/overlay camera renderer routing remains valid in build.
Prevention tips
- Keep one URP validation checklist per platform and quality tier.
- Pin active URP assets in project docs and release notes.
- Add a pre-release visual smoke route that includes Additional Lights and at least one renderer feature scene.
- Fail CI on repeated shader/pass missing warnings tied to release scenes.
FAQ
Why does this fail only in build?
Build uses preconfigured asset mappings and stripping rules. Editor testing can hide mismatches because of different active quality settings or dynamic compilation behavior.
Can this happen without Shader Graph?
Yes. Any URP feature path can break if the active pipeline asset or renderer data differs between Editor and player build.
Should I disable stripping permanently?
No. Use relaxed stripping only to identify the broken path, then keep only safe stripping rules for release.
Related links
- Unity Shader Graph Pink Material in Player Build - Shader Variant Collection and Stripping Fix
- Unity Decal Projector Not Rendering in Build - URP Renderer Feature and Material Fix
- Unity Particle System Not Visible in Build - URP and Shader Stripping Fix
- Addressables Profile Variable Preflight Checklist
- Official Unity docs: Set up a render pipeline asset and Shader variant stripping
Bookmark this for release week. It is one of the fastest checks when URP visuals drift between Editor and build.