Accessible UI & Navigation Toolkit


Practical accessibility and navigation components for Unity uGUI: focus, scaling, contrast, subtitles, safe areas and responsive layouts.


by jackmirza


Price History +

Stop rebuilding the same accessibility plumbing in every project.


Accessible UI & Navigation Toolkit gives your uGUI menus the navigation and accessibility behaviour players expect, without imposing an art style. Every component is visually neutral, so it drops into your existing UI and uses your own colours, sprites and fonts.


NAVIGATION THAT KEEPS WORKING WHEN YOUR UI CHANGES


Automatic spatial navigation generates explicit up/down/left/right links for Selectable controls and rebuilds them when the layout changes or a control becomes non-interactable. Disabled buttons drop out of the focus order instead of trapping the player. Modal dialogs trap focus inside themselves and restore the previous selection when they close. Scroll views bring the selected control into view. Per-control overrides handle awkward layouts.


A VISIBLE FOCUS INDICATOR THAT BEHAVES PROPERLY


A single focus indicator follows the current selection and can be turned off by the player. It appears for keyboard and gamepad input and gets out of the way for mouse users, because input-modality tracking tells it which device is driving the UI.


ONE PLACE TO OWN ACCESSIBILITY PREFERENCES


A central manager holds text scale, high contrast, reduced motion, subtitles and focus-indicator preferences, broadcasts a change event, and persists locally with PlayerPrefs. Persistence is opt-out if your game already owns its settings. A ScriptableObject profile sets defaults, and a ready-made settings menu prefab wires the system up.


PRESENTATION COMPONENTS THAT REACT TO PREFERENCES


Text scaling resizes both legacy Text and TextMeshPro labels from their authored sizes. High-contrast targets swap graphic colours. Reduced-motion adapters disable behaviours or swap in still alternatives. A subtitle presenter shows speaker-prefixed captions and honours the player's subtitle setting. An announcement interface with a text sink lets you route messages to your own screen-reader, log or on-screen ticker.


LAYOUT HELP FOR PHONES, TVS AND ULTRAWIDE MONITORS


A safe-area fitter keeps content clear of notches and rounded corners, with editor simulation. A console/TV safe-zone fitter adds an overscan inset. A breakpoint controller switches between compact, standard, wide and ultrawide variants, and display simulation presets preview desktop, mobile portrait, console-TV and ultrawide layouts.


CATCH TEXT PROBLEMS BEFORE PLAYERS DO


Localization stress modes expand and pseudo-localize strings so you can test long translations. Overflow detection flags labels that no longer fit, for uGUI and TextMeshPro.


AN EDITOR VALIDATOR THAT TELLS YOU WHAT TO FIX


Tools > JackMirza > Accessible UI > Validator audits a scene for navigation gaps, missing labels, clipping, contrast problems and safe-area issues. Each result selects the offending object, and you can export a plain-text report.


FOUR DEMO SCENES


• Complete interactive prototype

• Portrait mobile settings flow with simulated safe area

• Console/gamepad menu with TV-safe margins

• Desktop QA workspace with settings, announcements, subtitles and diagnostics


SOURCE AND TESTS INCLUDED


Full C# source, ten prefabs, two neutral theme assets and optional EditMode/PlayMode test assemblies. Tests are gated behind UNITY_INCLUDE_TESTS and never touch a player build.


HONEST SCOPE


This toolkit supplies practical accessibility and navigation building blocks. It does not certify your game as accessible and does not implement an OS or console screen reader. You remain responsible for testing your finished game with intended players and platforms. Please read Documentation/Limitations.md before shipping.