# Tutorial — Captions UI *Augmented Traveler local tutorial.* Back to [[Unreal — Tutorials]] · monologue captions: [[Tutorial — Sequencer for Monologues]] · live answers: [[Tutorial — Conversation Client Plugin]] How we show **captions** for everything the figure says: - **authored monologues:** timed text we know in advance; - **live answers:** text that arrives as it is generated. Captions are **on by default**. Museums, schools and the ADA expect it, and many visitors are in noisy rooms. > **Draft.** Test with the UX and accessibility designer and with deaf and hard-of-hearing visitors before opening. ## 1. Standards we follow | Source | What we take | |---|---| | **WCAG 2.2** | Captions for recorded media (SC 1.2.2, Level A) and for live media (SC 1.2.4, Level AA) | | **FCC caption quality** (47 CFR 79.1) | Four tests: **accurate, synchronous, complete, well-placed** (never covering faces) | | **DCMP Captioning Key** | At most 2 lines; each caption on screen 1.33–6 s; white medium sans-serif with a shadow on a translucent box; mixed case; bottom placement; reading speed 130–160 words per minute by audience | | **BBC subtitle guidelines** (secondary summary) | 2 lines; line length up to about 68% of a 16:9 width; 160–180 words per minute | | **Smithsonian Guidelines for Accessible Exhibition Design** | Open (always-on) captions preferred; 70% contrast; sans-serif or simple serif | | **Meta VR accessibility guidance** | In XR: about 1 m away (or half the far-field distance) or head-locked; top or bottom of the central 40°; up to 32 characters per row, 2 rows; text scale 50–200%; background box | | **W3C XR Accessibility User Requirements** | Support captions, and let them be customised | ## 2. Our style | Setting | Kiosk (life-size display) | Headsets | Phones / web | |---|---|---|---| | Position | Bottom third, beside the figure, **not over the face or hands** | About 1 m in front, lower field, gently follows the head | Bottom, above the controls | | Lines | 2 max | 2 max, 32 characters per row | 2 max | | Font | Clear sans-serif (the studio caption font), medium weight | Same, larger | Same | | Size | Readable from 2.5 m (test on the actual screen) | Adjustable 50–200% | System text size respected | | Colour | White or near-white on a 70–80% dark translucent box | Same | Same | | Speaker label | "Maria Mitchell:" on the first caption of each turn; "You asked:" for the visitor's question | Same | Same | | Sound cues | [lamp hisses], [telescope creaks] only when meaningful | Same | Same | **Period spelling:** caption text follows the **historian-approved script** exactly, including period words. Don't modernise. ## 3. Authored monologues: the Subtitles and Closed Captions plugin 1. Enable **Subtitles and Closed Captions** (Beta in 5.8). 2. Make a **Subtitle Asset** per monologue (`SUB_<Figure>_Monologue_<NN>`). Import the timed script as **SRT**, or type the entries (start offset and duration). 3. Add the **subtitle track** to the Level Sequence ([[Tutorial — Sequencer for Monologues]]), so captions stay locked to the audio. 4. **Style** the plugin's display widget (a UMG TextBlock set in Project Settings) to match section 2. - 5.8 supports per-platform display overrides; use one for headsets. 5. **Check timing** against the audio. - No caption under 1.33 s or over 6 s. - Split long sentences at natural phrase breaks, never mid-name. ## 4. Live answers: `WBP_AT_Captions` The conversation service sends **caption chunks** with timing ([[Tutorial — Conversation Client Plugin]]). They go to a UMG widget: 1. `WBP_AT_Captions` has a container with up to **two lines**, a **speaker label** and a dark translucent background. 2. **Reveal text in phrases, in time with the audio.** Don't show it word by word, which is tiring to read, and don't show it before it is spoken. 3. When the next phrase doesn't fit, **roll up** (the old line slides up and fades out over about 0.5 s). 4. **The visitor's question** shows briefly ("You asked: …") when the transcript arrives, then clears when the answer starts. 5. **Refusals and redirects** are captioned like any other line. 6. **In XR:** render the widget in a **Widget Component** or an OpenXR stereo layer placed per section 2. Stereo layers can draw behind the scene in 5.8, which keeps captions crisp ([[Tutorial — OpenXR Headset Builds]]). ## 5. Settings for visitors A small accessibility menu (kiosk corner button; headset wrist menu): - captions **on/off** (default on); - **text size** (3 steps); - **background opacity**; - the language, if translations exist later. Remember the choice for the session only; reset it for the next visitor. ## 6. Check before opening - [ ] Every monologue captioned word-for-word; timing checked - [ ] Live answers caption in sync with speech; no text before it is spoken - [ ] Never covers the face or hands at kiosk distance or in the headset - [ ] Readable at 2.5 m on the kiosk screen and in the headset (test with visitors) - [ ] Accessibility designer sign-off; notes from deaf and hard-of-hearing testers recorded ## Sources - W3C, WCAG 2.2 Understanding SC 1.2.2: https://www.w3.org/WAI/WCAG22/Understanding/captions-prerecorded.html - eCFR, 47 CFR 79.1 (caption quality): https://www.ecfr.gov/current/title-47/chapter-I/subchapter-C/part-79/subpart-A/section-79.1 - DCMP Captioning Key (presentation rate; appearance): https://dcmp.org/learn/captioningkey/601 · https://dcmp.org/learn/captioningkey/597 - BBC subtitle guidelines summary (Clevercast): https://www.clevercast.com/bbc-subtitling-guidelines/ · original: https://www.bbc.co.uk/accessibility/forproducts/guides/subtitles/ - Smithsonian Guidelines for Accessible Exhibition Design (PDF): https://www.thc.texas.gov/public/upload/publications/Smithsonian%20Guidelines%20for%20accessible%20design.pdf - Meta, VR accessibility design: https://developers.meta.com/horizon/design/accessibility/ - Meta, VRC.Quest.Accessibility.1: https://developers.meta.com/horizon/resources/vrc-quest-accessibility-1/ - W3C, XR Accessibility User Requirements: https://www.w3.org/TR/xaur/ - Epic, Subtitles and Closed Captions plugin: https://dev.epicgames.com/documentation/unreal-engine/subtitles-and-closed-captions-plugin-in-unreal-engine - Epic, UE 5.8 release notes: https://dev.epicgames.com/documentation/unreal-engine/unreal-engine-5-8-release-notes - Full list: [[Sources — 2026-09-20]]