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.

Leave a rating/review
Download materials
Save for later
Share

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.

Note: This tutorial requires you to have at least some basic experience with Unity. You’ll need to know how to work within the Unity editor and have a good foundation in C# scripting. Check out our beginner tutorials if you are new to Unity.

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:

Project window folder structure

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.
Note: The textures and sound effects used in this tutorial come from these two awesome sites:
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.

Puzzley Dungeon's opening scene

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.

the settings menu in the Scene view

Note: The UI fairy has kindly prebuilt a few UI elements so you don’t have to. If you’d like to know a little more about Unity’s awesome UI system, check out this tutorial: Introduction to Unity UI – Part 1.

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:

Enabling the settings menu GameObjects

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.

Mark Placzek

Contributors

Mark Placzek

Author

Ben MacKinnon

Tech Editor

Sandra Grauschopf

Editor

Aleksandra Kizevska

Illustrator

Sean Duffy

Final Pass Editor

Over 300 content creators. Join our team.