Improving Accessibility in Unity Games – Part 1
Take your games to the next level with support for a range of accessibility options. Help deal with subtitles, color blindness, audio controls and more! By Mark Placzek.
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Contents
Improving Accessibility in Unity Games – Part 1
45 mins
- Getting Started
- Trying Out Puzzley Dungeon
- Addressing Visual Impairment
- Substituting the Subtitles
- Adjusting the In-Game Text
- Setting Up Your New UI Elements
- Adding Your Font Changes to the Game’s Menus
- Changing the Font Styles in the Subtitles
- Adding an Outline to the Subtitles
- Setting Up a Separate Material for the Subtitles
- Standardizing Your Outlines
- Implementing the Outlines
- Adaptations for Color Vision Impairment
- Making a Color-Based Puzzle More Accessible
- Putting Your Requirements to Work
- Addressing Hearing Impairments
- Adding Closed Captions
- Adding Scripts to Noisy GameObjects
- Attaching the Descriptions to the Audio Sources
- Adding Directional Closed Captions
- Adding Subtitles to Sounds
- Determining Where the Sound Is
- Volume Controls
- Audio Puzzle Considerations
- Where to Go From Here?
In this tutorial, you’ll learn some simple strategies to increase the reach of your game by making it user-friendly to people with common disabilities.
Your audience is a diverse bunch of awesome people. Did you know among casual gamers, 20% have disabilities? And that doesn’t even count other conditions that are not registered disabilities, such as red/green color deficiency and conditions that are not long-term or considered substantial.
If you want to target your game for a “typical gamer,” you need to broaden your perspective!
However, this is a good thing. By creating customizable and flexible gaming options, you not only open the door to many players with disabilities, but you also add ‘quality of life’ improvements that all of your players will thank you for.
In this two-part tutorial, you’ll learn how to make accessibility improvements for:
- Sight impairment: Flexible fonts, flexible font sizes and adjustments for color deficiency.
- Hearing impairment: Closed captions with directional cues.
- Motor disability: Movement sensitivity, customizable keybindings, and a button-mashing alternative.
- Cognitive disability: Hints and tips.
- Other quality of life improvements: Subtitle speed.
Part 1 of the tutorial will focus on making the game easier to play for people with sight or hearing impairments.
In this tutorial, you’ll focus on small changes that make a big impact. These will open your game to a substantial number of players with disabilities.
Many niche audiences would benefit from more involved game mechanic adjustments and assistive technology devices. Although these adaptations are of great value, this tutorial won’t cover these more advanced topics.
If you want to investigate these more advanced adaptations, check out Advanced Game Accessibility Guidelines.
Getting Started
To start this tutorial, you’ll need Unity version 2019.3 or newer. You can install it from Unity.com or by using Unity Hub.
OK, ready to go? Download the starter project using the Download Materials button at the top or the bottom of this tutorial and open Improving Accessibility in Unity Games Part 1 Starter with Unity.
Note that the starter project wasn’t created for you to be able to just plug in accessibility features. The aim was to show how you can retrofit these features to an existing game, even when the developer hadn’t considered them.
The folder structure in the Project window looks like this:
Here’s a description of what each folder inside of Assets\RW contains.
- 3DModels: The 3D models required for this tutorial.
- Animations: The animation controllers and their animations.
- Audio: The soundFX for the project and an Audio Mixer.
- Fonts: A custom font file.
- Materials: The materials for the 3D models and the particle effect.
-
Prefabs: The many prefabs are further divided into the following folders:
- Building Blocks: The basic building blocks for the environment.
- Dungeon Interactables: The interactable elements in the environment.
- Dungeon Pieces: Larger pieces of dungeon assembled from the basic building blocks.
- UI Prefabs: Reusable UI elements.
- Scenes: The dungeon scene.
- Scripts: The scripts required for this tutorial.
- Standard Assets: The standard character controller used in this project.
- TextMesh Pro: A package that you can download to replace Unity’s standard UIText with something with greater utility.
- Textures: The textures for UI elements and the textures and normal maps for some of the 3D Models.
www.soundsnap.com
www.textures.com
OK, it’s time to have a crack at Puzzley Dungeon!
Trying Out Puzzley Dungeon
Navigate to Assets/RW/Scenes and double-click on DungeonScene, if it’s not already open in the editor. Then click the Play button at the top of the editor.
You’ll probably see a few design decisions that will scream poor accessibility choices… Good! Even big game studios are guilty of every issue you’ll remedy in this tutorial.
One final point before you start this tutorial in earnest: Even if you need to compromise on your design, the difficulty of a puzzle or a gameplay mechanic, it’s worth it.
A player with disabilities will thank you for allowing them to enjoy your game rather than hit a frustratingly impassable wall.
Having said this though, you can make your game creative and flexible enough to be challenging for die-hard gamers and still playable for casual players or people with disabilities. The broader the audience that can enjoy your game, the more successful it will be.
Addressing Visual Impairment
Movie and TV subtitles generally follow a universal standard. However, no such standard currently exists for games. Here’s a handy list of considerations to keep in mind while designing your subtitles:
- Font size should be large and, ideally, customizable.
- Font style should be clear and legible.
- The text should be clear against the background colors.
- For ease of reading, keep the width of the subtitle area modest.
- Keep subtitles short, if possible.
- Add something that indicates who’s talking.
Now, it’s time to start making your game more friendly to your whole audience.
Substituting the Subtitles
When you watched the opening scenes of Puzzley Dungeon, did the poor subtitles stand out to you? They were small, moved quickly and had a font that was hard to read. Your first step will be to make those subtitles more accessible.
In the Hierarchy, click the SettingsPanel GameObject under Canvas ▸ Settings Menu.
The SettingsMenu GameObject is disabled by default, so it’s grayed out.
Enable it using the checkbox next to the GameObject’s name in the Inspector. You’ll then be able to visualize your changes in the Scene view. Don’t forget to disable it again before entering play mode, though.
Under SettingsPanel, find and enable the following GameObjects by enabling their checkbox in the Inspector:
- FontStyleSettingComponent
- FontSizeSettingComponent
- Example Text
The Settings Menu should now contain these three new items:
You’ll use these controls to adjust the style and size of the text in-game. The example text will also reflect the changes, so the player can see how the options they choose will look.
Your next step is to get these controls working.