A research project of NUILab at Colorado State University
Interaction techniques, written once
nuiDSL is a domain-specific language for multimodal and unimodal interaction. You describe a technique once, and the compiler generates code for the engines you already use. Before we go further, we want to learn from the people who build these techniques today.
Why a language for interaction
Building an interaction technique today usually means writing it again for every engine and every device. Gaze plus pinch selection, two-handed scaling, voice plus gesture: each one is a hand-tuned mix of recognizers, timing windows, and state logic, buried in engine code. When a person cannot use one input, offering another often means a rewrite.
nuiDSL describes interaction techniques declaratively: which input streams a technique listens to, how those streams combine over time, and what should happen when one input is not available. The same description can then be compiled for game engines such as Unity, Godot, and Unreal.
Accessibility is central to the design. Offering an alternative input path should be a change of policy, not a rewrite of the technique.
Who we want to hear from
Researchers
HCI, XR, and input researchers who prototype, compare, and study interaction techniques.
Practitioners
Developers and designers who build interaction for games, XR, and other interactive applications.
Accessibility specialists
People who design alternative input paths or adapt interaction for people with different abilities.
Whether you work with one input modality or combine several, your experience is useful to us.
What we want to learn from you
How you build it today
The engines, languages, toolkits, and workarounds you use to code gaze, gesture, voice, touch, controllers, or combinations of them.
What gets in the way
Device differences, timing and fusion of inputs, testing, debugging, and porting a technique from one engine to another.
What you would want
Your wishlist for a language like this, and what would stop you from using it.
What you get for taking part
Early access to the repository
nuiDSL will be released as open source. Participants get access to the repository before that release, so you can read the language, explore early examples and tools, and see how your feedback shapes it. Early access to the compiler will follow at a later stage.
A way to contribute
If you want to go further, you can contribute directly: examples, engine backends, interaction techniques, issues, and code.
Join the waitlist
We are planning focus groups and one-on-one interviews. Dates and format are not set yet. Joining the waitlist does not commit you to anything: it lets us email you once sessions are scheduled, with the details you need to decide whether to take part.