# 6. Mobile and Meta Quest Considerations Part of [[Lighting and Baking]]. Previous: [[5.Reflection Probes and Environment Lighting]]. Next: [[7.Worked Example Interior Exterior Checklist]]. > [!important] Version requirement > Quest work targets **Unity 6.3 LTS (6000.3.27f2+)** with URP. See [[0.Choosing a Unity Version]], [[Meta Quest 2]], and [[5.Quest 2 Performance and Rendering]]. Desktop baking can use 6000.5+; deploy/player builds for Quest should follow the Quest tutorial baseline. Quest is a **tile-based, fill-rate-sensitive** mobile GPU. Realtime lights, shadows, and probe sampling compete with MSAA, resolution scale, and stereo. Prefer **baking**. ## 6.1 Design principles 1. **Bake first.** Static Mesh Renderers → lightmaps. Dynamics → sparse probes (or carefully profiled APV). 2. **Minimize realtime / Mixed additional lights.** One Mixed Directional (or none) plus baked fills beats five realtime point lights. 3. **Non-directional lightmaps** unless you prove directional worth the extra texture bandwidth. 4. **Smaller atlases.** Max Lightmap Size 512 (sometimes 1024) before 2k/4k fantasies. 5. **Cheap reflections.** Baked probes at 128–256; avoid Realtime probes on device. 6. **Profile on hardware.** Editor Game view lies about mobile bandwidth. Cross-check CPU/GPU frame budgets, draw calls, and MSAA guidance in [[5.Quest 2 Performance and Rendering]]. ## 6.2 Lightmap size and compression | Setting | Quest-oriented starting point | Why | |---|---|---| | Max Lightmap Size | 512 (1024 if atlases pack poorly) | Texture memory × stereo pressure | | Lightmap Resolution | Low teens–20s texels/unit for rooms *(art-dependent)* | Occupied texels explode with resolution² | | Directional Mode | **Non-directional** | Half the lightmap textures | | Compression | Normal or Low Quality | Memory vs artifacts — compare on device | | AO | Optional; keep Max Distance small | Extra bake data; subtle on low-res atlases | Disable Contribute GI on tiny props; probe-light them. ## 6.3 Shadows on Quest - Prefer **baked shadows** (Shadowmask/Subtractive or fully Baked lights) for static level geometry. - Realtime shadows: keep **Shadow Distance** short; cascade counts low; avoid many shadow-casting additional lights. - Subtractive's "single strongest Directional realtime shadow" can be a pragmatic Quest-friendly Mixed mode when art accepts its look (part 1 table). Exact URP shadow cascade / soft shadow costs: confirm in your URP Asset and Meta's [Unity performance](https://developers.meta.com/horizon/documentation/unity/unity-perf/) guidance. ## 6.4 Adaptive Probe Volumes on Quest APV is available in Unity 6 URP, but **availability ≠ free on mobile VR**. **Verified (docs):** APV setup and features as in part 4. **Caution (flag as needs on-device proof):** - Per-pixel APV sampling and probe data textures add bandwidth and memory vs a sparse classic `LightProbeGroup`. - Multi-scenario blending / streaming paths add more cost — do not enable scenario features "just in case." - Community and third-party writeups compare APV vs baked lightmaps vs realtime; treat their numbers as **unverified** until you reproduce on Quest 2 with the Profiler / MQDH overlay. **Recommended Quest path** 1. Ship candidate: **lightmaps + hand-placed Light Probe Groups** in player volumes. 2. Optional experiment: APV with low density, no scenario blending, Global or tight locals only. 3. Keep whichever passes frame time **and** memory on-device. Also see Meta's Forward+ notes: use Forward+ when you truly need many realtime lights; otherwise Forward may be cheaper. Lighting strategy should reduce the need for many realtime lights either way. ## 6.5 Reflection probes on Quest - Baked only; resolution 128 (256 max for hero chrome). - Box Projection: nice for interiors; ensure URP Asset flag is on; watch extra shader work *(measure)*. - One probe per major room beats a dense grid. ## 6.6 Overdraw from lights (and particles) Tile GPUs pay for overlapping transparent and lit overdraw. - Extra per-pixel lights increase shaded cost inside Forward/Forward+. - Additive particle sheets + realtime lights stack fill-rate damage — see [[Particle Systems and Layered Effects]] and [[5.Quest 2 Performance and Rendering]]. - Emissive unlit materials often fake "glow" cheaper than realtime point lights. ## 6.7 Quest lighting checklist ```text [ ] Unity 6.3 LTS project baseline for Quest builds [ ] URP Forward or Forward+ chosen deliberately [ ] Almost all level lights Baked (or Mixed with cheap Lighting Mode) [ ] Non-directional lightmaps; Max size ≤ 1024 [ ] Contribute GI off for debris; probes cover player [ ] APV only if profiled; else classic LightProbeGroups [ ] Baked reflection probes ≤ 256; no realtime probes [ ] Shadow Distance minimized; few shadow casters [ ] On-device: GPU time under budget at target Hz (see Quest perf note) ``` Next: [[7.Worked Example Interior Exterior Checklist]].