Well-crafted typography transforms written language into a clear, legible, and expressive part of the user interface. In immersive reality, where text must be readable from various distances and angles, a strong typographic system is essential for user comfort and comprehension.
Poor typographic choices—such as illegible fonts, inconsistent sizing, or a confusing hierarchy—can strain the user’s eyes and make an experience difficult to use. A thoughtful type system, however, does more than just present text; it establishes a clear voice and guides the user’s focus. A well-considered type strategy serves to:
Establish a clear information hierarchy
Ensure text is legible and comfortable to read
Define a consistent voice and tone
Reinforce brand identity
The Meta Horizon OS type system across headline and body styles
Best practices
Below are our recommended practices for typography in an immersive experience.
Choose a legible font
Use a font that is easy to read. To promote legibility at small sizes, even when the view is zoomed in or out, choose a sans-serif font with a high x-height and large counters. This is especially important for readability across the varying viewing distances found in immersive environments.
A legible font with a high x-height and large counters
Use a limited set of type styles
Establish a clear hierarchy by using a limited set of type sizes and weights. Rely on the regular weight for most body copy and captions, and avoid overusing the strong weight for emphasis. Do not use italics, as they do not render well in fully immersive experiences.
Maintain a consistent type hierarchy
Use type system sizes and weights consistently to help users scan and understand your content. A consistent hierarchy improves the overall usability of your experience by making content predictable and easy to read.
Select an appropriate font size
While the ideal size depends on the characteristics of each font, a font size no smaller than 14px is required for minimal legibility. For a comfortable reading experience, use a font size of 18px or larger.
Minimum font sizes for legibility and comfortable reading
Select an appropriate font weight
Use different font weights to create distinct levels of hierarchy in your layouts. Larger weights such as Black, Bold, and Medium are more legible than lighter weights like Light and Thin. If you use lighter weights, increase the type size to maintain legibility.
Heavier weights are more legible; increase size when using lighter weights
Typography on Quest
Type is rendered differently on Quest headsets compared to traditional monitors due to the display technology, lens properties, and unique viewing conditions.
Test your typography on actual Quest hardware
It is critical to test your type choices on actual Quest hardware. This is the only way to see how they appear as intended. If necessary, iterate on your typography based on how it looks inside the headset.
Design for varying physical surroundings
In mixed reality experiences, the typography in your application will interact with the colors in the user’s physical surroundings. For example, light-colored walls or bright ambient lighting can wash out subtle text, while dark environments can make bright text appear overly intense. Design with flexibility to accommodate these various physical contexts.
Using the Meta Horizon OS UI Set type system
For a consistent and predictable starting point, we recommend using the official Meta Horizon OS UI Set and its associated type system. The key aspects to know are the typefaces, type sizes, and weights.
Use the defined type styles
Instead of creating custom styles, use the semantic type styles defined in the UI Set. This practice, common in modern design systems, makes your design more maintainable and allows developers to implement type consistently across different platforms (Unity, Unreal, Web, and more).
Typefaces
Optimistic Display is the typeface used for all UI in the headset and the mobile companion app.
Type sizes
Choose a type size based on the content’s hierarchy and common use cases:
Headline 1 (32/36dp): The title of a surface or content.
Headline 2 (24/28dp): The title of a smaller surface or content.
Headline 3 (20/24dp): The title of a section header, dialog, or navigation.
Body 1 (14/20dp): Primary body copy, including app titles and descriptions.
Body 2 (11/16dp): Supplementary content, like secondary information or validation messages.
Type weights
Strong and regular type weights
Strong: Use for emphasis on titles and labels.
Regular: Use for body copy and captions.
Implementation
Below are our recommended ways to implement typography in an immersive experience.
Resources
Design
Open in Figma. Change themes for specific components or entire pages and customize elements to fit your design system.
Unity
Download the Meta Interaction SDK (Unity) to use the Meta Horizon OS UI Set. Elements are customizable and support multiple input modalities. The UI Set uses TextMeshPro for text rendering.
Meta Spatial SDK
View the UI Set Sample on GitHub. Includes panel theming with typography styles.