Skip to content

[Research] NoesisUI integration #1235

Description

@miogds

Goal

NoesisGUI is a UI middleware used in shipped games: interfaces are authored in XAML with vector graphics, styles, animations and data binding, in the same tools designers use for WPF, and rendered at run time by a C++ SDK that ships its own Metal render device. Integrating it would give Untold games a complete, designer-friendly UI toolkit in one step instead of growing one widget at a time.

The goal of this research is to find out whether that integration is viable and worth it: the licence terms for the engine and for games built with it, how the Noesis render device sits on the engine's Metal resources as a render extension pass, how the engine's input (touch, mouse, hand and gaze) reaches it, whether it can render in the headset's stereo layered layout and in world space, and what it costs per frame on the performance counters. It ends with a decision against the built-in UI components (issue #1234): one of them, or both with a split by use.

Status

Step Plan Status
Access and licence SDK access and licence terms for the engine and for games built with it Not started
Integration shape Noesis render device on the engine's Metal resources as a render extension pass; input routing from the engine's input system Not started
visionOS Rendering in a stereo layered layout and in world space; hand and gaze input Not started
Prototype One XAML screen over a demo scene, with the performance counters attached Not started
Decision Built-in components, Noesis, or both (built-in for HUD, Noesis for menus) Waiting for decision

Next steps

  • Get the SDK and the licence answer, then the prototype.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions