Accessibility
The default profile has an Accessibility tab. Every option works in the menu with no code; the ones your game needs to react to are available from code too.
| Setting | What the menu does | What your game can do |
|---|---|---|
| Menu Size (75% to 150%) | Scales the whole menu canvas. | Read AccessibilityState.UiScale for your own HUD. |
| Text Size (80% to 160%) | Scales every menu text. | Read AccessibilityState.TextScale. |
| High Contrast | Switches to the theme's high-contrast variant (text contrast at least 4.5:1, checked by a test). | Read AccessibilityState.HighContrast. |
| Reduce Motion | No screen fades, slides or focus zoom; instant color changes. | Read AccessibilityState.ReducedMotion; multiply camera shake by AccessibilityState.CameraShakeScale (0 with reduced motion, otherwise the Camera Shake setting). |
| Focus Outline (thin / normal / thick) | Thickness of the frame around the selected item. | Nothing needed. |
| Sprint: Hold / Toggle (example) | Stored only (Read). | HoldOrToggleSettingDefinition.IsToggle(SettingsRuntime.Current, "accessibility.sprint-mode"), or listen to SettingsController.ValueApplied. Duplicate the asset for aim, crouch and so on. |
| Subtitles, Subtitle Size, Subtitle Background | Applied by the Subtitles prefab. | Call SubtitleDisplay.Show("Line.", seconds, "Speaker"). |
All values are also raised through AccessibilityState.Changed.
Subtitles #
- Drag
Content/Prefabs/Subtitles.prefabinto your first scene (or a scene that stays loaded). - From your dialogue code:
SubtitleDisplay.Show("Where is everyone?", 3f, "Mara");Lines queue and play in order, in unscaled time (they keep going while paused). - The player's Subtitles, Subtitle Size and Subtitle Background settings apply automatically.
Keyboard, controller and mouse #
Every screen is fully usable with a keyboard or a controller; focus is always visible and is restored when you go back. Rebinding protects the menu controls, so a player can't lock themselves out.
Not supported: screen readers #
The menus are not read aloud by screen readers (Narrator, NVDA, VoiceOver, TalkBack). Unity's uGUI has no built-in screen reader support, and the kit does not add one. If your game needs a screen reader, plan for a dedicated solution.