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.

We use this information only to contact you about nuiDSL focus groups and interviews, and we do not share it. To be removed from the list, email fortega@colostate.edu.