Problem

Mersus Technologies had an existing VR training platform built on UGUI. The interface needed to migrate to Unity UI Toolkit without rewriting backend systems, while keeping Meta Interaction SDK hand tracking intact and adding full localisation support.

The challenge: UI Toolkit runtime documents in world space were relatively new, and the team needed a separated, modular front-end that could be re-themed without touching code, all under an 8-week deadline.

Key Technical Decisions

  • Panel-based architecture Each screen is a self-contained host with its own UXML document and USS styles. A host base class manages the document and root, keeping panel lifecycle independent from backend controllers.
  • Typed element references Sealed C# records per panel hold typed UXML references, so controllers never touch a VisualElement directly. A query helper populates the records.
  • Unified 2D/3D theming One scriptable object drives flat panels (through CSS custom properties in core.uss) and 3D button meshes. Swapping the asset re-themes every element without duplicating materials.
  • Allocation-light animations PrimeTween handles panel transitions and button feedback with parameters from the same asset, avoiding per-frame allocations during gameplay.
  • Localisation from day one Unity Localization string tables bind to all labels and TMP strings through a central table, maintained as CSV for easy translation workflow.

Gallery

Tactile XR tablet UI in world space