Performance considerations
Profile the scene on your target device with the intended camera distance and resolution. A close-up planet can fill most of the screen, so the cost of its layered material and surrounding effects matters as much as object count.
Start with the scene you will ship
Section titled “Start with the scene you will ship”- Build a representative view with the expected number of planets, rings and stars.
- Use Unity’s Profiler to inspect CPU, rendering and memory, and the Frame Debugger to inspect the rendering sequence.
- Compare the same view with optional atmosphere, ring and corona renderers disabled individually.
- Inspect both close-up and distant views. Record results on the target hardware before deciding what to simplify.
Spend detail where it is visible
Section titled “Spend detail where it is visible”| Area | Practical action |
|---|---|
| Atmosphere and Corona | Limit large overlapping shells and planes; additive effects can shade the same pixels repeatedly |
| Transparent rings | Inspect overlap and depth behavior as well as draw cost |
| Surface detail | Use texture resolution and normal strength appropriate to the final camera distance |
| Textures | Review target-platform import size and compression; compare quality and memory on the actual device |
| Materials | Reuse shared materials for identical looks; create independent copies only where variation is needed |
| Meshes | Keep enough detail for the silhouette without assuming distant planets need the same geometry as close-ups |
| Runtime code | Reuse material instances and property IDs rather than creating materials each frame |
Lowering a visible contribution to zero does not necessarily remove its texture work from a shader. Use measurements before treating an artistic setting as a performance switch. Disabling a separate effect renderer is a clearer comparison when that layer is not required.
Rendering and platform choices
Section titled “Rendering and platform choices”This guide’s baseline is Unity 2022.3, URP 14 and Windows/D3D11. It does not provide frame-rate, memory or GPU budgets for mobile, WebGL, XR or other graphics APIs. Evaluate those targets in your own build. A shader pass or keyword name alone is not a compatibility guarantee.
The lit surface shaders use a forward-only path within URP, including when used with a Deferred renderer. Do not assume that choosing Deferred makes every custom effect a native GBuffer material. Profile renderer features, camera stacking, extra lights and post-processing in the combination you intend to use.
For material instances, see Runtime materials. For blend, mapping and channel details that affect integration, see Technical reference.