# 4. Reduced Motion Part of [[Accessibility]]. Prev: [[3. Subtitle Scale and Captions]]. Next: [[5. Remapping Recap and Settings Menu]]. ## 4.1 No invented OS API I did not find a documented **cross-platform OS reduced-motion** query in the Unity **6000.5** Scripting API. Do not invent `Application.reducedMotion` or similar. Ship an in-game **Reduced motion** toggle (default off, or on if you have a studio policy). If you later verify a platform-specific API, use it to *suggest* a default, still overridable in-game. ## 4.2 What the toggle should disable | System | What to do | |---|---| | URP **Motion Blur** | Disable the Volume override or set intensity to 0 ([[Post-Processing]] / effect catalog). Official URP VR guidance already says to avoid Motion Blur (and Lens Distortion / Chromatic Aberration) for comfort. | | **Cinemachine Impulse** / noise | Skip impulse sources; use a still camera or a much smaller gain ([[4.Impulse Noise and Extensions]], [[Combat Feel and Hit Feedback]]). | | Camera bob / land punch | Skip the animation or zero the curve. | | Fullscreen **flash** | Do not pulse [[5. Worked Example Fullscreen Flash]] (photosensitivity, not only vestibular motion). | | Screen shake from scripts | Same hook as Impulse: one `IMotionPreferences.Reduced` that all juice reads. | ```csharp using System; using UnityEngine; /// <summary>In-game reduced-motion flag. NOT compiled in Unity.</summary> public sealed class MotionPreferences : MonoBehaviour { [SerializeField] bool reducedMotion; public event Action<bool> Changed; public bool ReducedMotion { get => reducedMotion; set { if (reducedMotion == value) return; reducedMotion = value; Changed?.Invoke(reducedMotion); } } } ``` Listeners (a Volume weight, an Impulse listener, `FlashPulse`) subscribe in `OnEnable`. Do not poll in `Update`. ## 4.3 Exercise Turn the toggle on and fire a melee hit that normally shakes and flashes. The hit should still *resolve* (damage, animation, audio); only the motion/flash is gone. That is "keep them playing," not "strip the game." ## Sources - Post-processing in URP for VR (comfort; avoid Motion Blur) - see the 6000.5 URP post-processing intro: https://docs.unity.com/en-us/engine/6000.5/manual/post-processing-and-full-screen-effects/urp/integration-with-post-processing - [[4.Impulse Noise and Extensions]]