Adjustable display settings are standard in console and 2D PC applications, and especially important in VR where displays take up much more of the field of view and are physically closer to a player’s eyes. Those who experience light-sensitivity, color blindness, and impaired vision are especially susceptible to sensory overload in VR, as well as challenges when trying to focus or parse out specific visual queues. This section will help you understand how to effectively support these members of your audience who need increased visual contrast, adjustable brightness, and visual patterns to navigate and generally enjoy your VR app.
This document contains the following sections:
Enabling the user to adjust brightness enables a greater degree of agency, and generally improves the experience for those with have impaired or sensitive vision. While especially dark environments are frequently used in applications to direct the users’s attention or set the emotional tone (i.e. horror games, survival, etc.), it can make in-app events confusing and difficult to follow. For example, if your horror game is too dark, you lose an element of surprise when the player can’t see what they’re supposed to be scared of. It can also be frustrating to players when they can’t see enemies they’re trying to overcome.
Ultimately, allowing users to adjust the brightness allows them to experience your application in the way that is most comfortable and convenient for them. This setting is highly recommended as it could be the difference between a person walking away from your application or enjoying it all the way through.
In any interactive medium, contrast can build immersion, deliver a sense of spatial depth, and make your application more easily understood. Contrast can also be lowered for intentional artistic purposes but when unintentional, it frequently leads to user confusion and generally makes the virtual world feel bland. In VR in particular, contrast can be especially effective to direct attention and indicate interactive objects..
To gauge whether you are using an appropriate level of contrast, try playing through your application in grayscale mode through post processing. Is your world unclear or muddied? Do your buildings or objects feel like they’re on the same plane of depth? If so, you will likely need to add more contrast.
With these points in mind, we recommend you enable the ability to adjust the contrast within your app for enhanced accessibility. While it’s a standard for 2D media, it’s especially important in VR.
Color is obviously a massively important element of your app design, with it you can provide context, guide emotional intensity and indicate objects/characters of importance. While every design leverages the color spectrum in a unique way, it is important to take into account those that experience color blindness. About 7-8% of all men of Western European descent experience color blindness and about 1% of women of Western European descent. When developers leave out color settings or build their application without considering those who have difficulty perceiving color, they leave out a considerable portion of their audience.
Color blindness/color settings - The 3 most common forms of colorblindness are Protanopia (unable to perceive red), Deuteranopia (unable to perceive green), and Tritanopia (unable to perceive blue). Going back through your application, how many times is the color red being used to indicate “danger” or “stop”? How many times is green being used to indicate “safety” or “go”? And what if a combination of the three is being used to indicate Health, Stamina, and Magic/Mana levels?
If there are no visual indicators like symbols, shapes, icons, contrast that differentiate these colors, or supporting text, these colors can block a player or lead to a challenging user experience. A good best practice is to allow users to select different color filters for your applications. These filters should have hues easily distinguishable to those experiencing color blindness like purple, yellow, and orange.
Furthemore, when possible, you can also allow people to replace colors with those they can perceive. For example, allowing people to set their own squad colors in multiplayer games, to choose health/stamina/mana colors, or their own attention indicator colors. When color is used to indicate an important idea or alert, be sure to add visual cues like icons or text to communicate these ideas.
Don’t feel obligated to alter or wash out every color at the expense of other players. Make educated decisions and give players agency in choosing a color palette that works for them, and don’t rely on color alone to convey important information in your application.
In addition to settings for color, brightness, and contrast, applying patterns and textures in your applications is a great way to create visual contrast and color differentiation. Patterns like straight lines, chevrons, dots, checkers, or plaid add a layer of differentiation to multiple objects that might have the same color value or contrast. Chevrons in particular can be used to give directional context as well. For example, if you have a lever that a person can pull down in your application, having chevrons pointing downwards can signal that 1) the lever is interactive and 2) that the lever can be pulled downwards.
You can also use multiple patterns to provide a variety of context cues. To see if your patterns improve the user experience, as mentioned above, put a grayscale filter over your game to test whether the patterns add enough visual differentiation. As you begin to add patterns to your application, take extra care not to clutter your scene. Too many patterns, flashing lights, and/or colors can overstimulate the user and lead to sensory overload. Make sure these patterns are balanced and consistent to provide a communicative but clear way to deliver information.
Because VR utilizes stereoscopic vision, the distance of various objects from the user can significantly impact the user experience, particularly if the viewer has low-vision or no stereo-vision. Often in applications UI, menus, HUDs, surfaces and other objects are at a fixed point in space, and unfortunately for the user these points are too far for a user to see. To avoid this negative user experience try enabling the functionality to bring objects closer to them. Not only will this enable people experiencing low-vision to see things more closely and clearly, but also enable people experiencing limited mobility to engage with and see objects that are further away.
In some cases, objects can still be too small or difficult to discern for those who have impaired vision, even after they have brought it up close. Because of this, you should consider enabling users to change the size of objects, fonts, buttons, and more. This is especially important for interactable objects that are necessary to progress through your app.
Being able to adjust the sizes of various objects/items/buttons and more helps not just those with low-vision, but also for people who would benefit from having a larger hitbox or collider in order to interact with a given object.