We simulate robotic wheelchairs inside an engine we can’t fully operate.

ATDev builds an open-source robotic wheelchair, and the physics-driven Unreal Engine 5 simulation it is designed in. Colleagues on our own team can’t fully drive that editor. OPAL, the OPen Accessibility Layer, adds voice, eye gaze, head tracking and switch access to the Unreal Editor itself.

Built by ATDev, a team that includes wheelchair users. Led by a disabled creator. Permissively licensed.

The gap

Unreal has accessibility features. They all point at the player.

Screen readers, subtitles, color-blind modes, input remapping, Xbox Adaptive Controller support. All of it reaches the person playing a finished game. None of it reaches the person making one.

1 in 4

US adults live with a disability.

20 million

People in the US have difficulty using their upper extremities.

1

Public discussion of the problem we could find: a 2023 forum thread, unanswered.

Press, hold and drag, at once

Flying the viewport camera means holding right mouse, plus WASD, plus steering, all at once. A switch, a head tracker or a voice cannot do that.

Sequencer compounds it

Viewport navigation is disabled when the view locks to the Camera Cut track. Cinematics is where the editor gets least reachable.

AI speeds output, not control

Epic’s experimental Model Context Protocol integration in Unreal Engine 5.8, like every AI plugin, is framed for productivity. Generating faster is not the same as being able to operate the editor.

What OPAL does

Five ways in, each doing what it is actually good at

No single alternative input can do professional 3D work on its own. OPAL gives each one the band it fits, and hands off between them.

Stated intent

Describe the outcome and the editor carries it out: spawn, place, light, screenshot. The piece that already works, through UEMCP.

Shipping today

A voice command grammar

Panels, tools and exact numeric transforms, spoken. A command grammar rather than dictation, released open so you can fork it.

In design

Gaze to jump, head to refine

Gaze throws the pointer across the screen, head tracking settles it, a discrete trigger confirms. Never gaze alone.

In design

Switch and sip-and-puff

A scanning command palette, so one reliable trigger reaches the whole editor.

In design

Accessible camera and Sequencer

Spoken framing, numeric camera placement and named views, with no held-button chord.

In design

An installer that assumes nothing

Today’s stack needs programmer-level setup, the biggest adoption risk. The installer is a deliverable, not glue at the end.

In design
The principle

Substitute. Do not emulate.

Gaze, switches and head trackers cannot deliver the precision a gizmo handle or a held-button camera chord demands. Pushing a mouse pointer around with a slower channel does not work.

So OPAL replaces the interaction instead of mimicking it. Say the number instead of dragging to it. Name the object instead of clicking it. Snap instead of aiming.

  • Exact values, spokenNumeric entry for transforms, focal lengths and light intensity.
  • Targets large by defaultEnlarged hit areas and snapping. Never a 6px handle.
  • Confirmation is discreteA switch, a mouth noise, or a sip-and-puff. Nothing fires on dwell.
  • Every modality is optionalUse one, use all five. The layer degrades to what you have.
Already in the open

The foundation ships today: UEMCP

An MIT-licensed Model Context Protocol server on PyPI that drives a live Unreal Editor through natural language. It runs on Unreal Engine 5.0 through 5.7 with nothing to install engine-side, because it speaks the engine’s built-in Python remote execution protocol.

It flies the viewport camera, spawns and edits actors, builds materials and Blueprints, manages assets and takes screenshots. Nobody paid us to build it. Our own colleagues could not do their jobs without it.

Add it to Claude in one line

claude mcp add unreal -- uvx uemcp

Then, in the editor:

“Spawn a point light 300 units up, make it warm orange at 8000 intensity, then screenshot the viewport.”

MIT licensed, UE 5.0 to 5.7, no in-engine install

Also already shipping: Alpha-OSK

The on-screen keyboard Owen Kent wrote because the ones shipped with Windows and Linux were not usable for a working day. MIT licensed and public, sixteen releases from v1.0.5 in April 2026 to v1.2.2 in August. Prediction runs entirely on the device: no LLM, no GPU, and no data leaving the computer. Sticky modifiers can be locked held and chorded, so a combination built for two hands is reachable with one pointer.

It is a general-purpose keyboard rather than an Unreal tool, and it is on this page for the reason UEMCP is: the person who needed it wrote it and gave it away.

MIT licensed, Windows and Linux, installers on GitHub

Who is building it

Built by the people locked out

ATDev works in Unreal Engine 5 every day, and our team includes creators with significant motor disabilities. Our co-founder and Chief Marketing Officer, Owen Kent, a lifelong power wheelchair user, leads this initiative.

He has shipped adaptive input software before: Nimbus Adaptive Controller, free and open source, eleven releases since November 2025. Same reason as UEMCP. He needed it, and nobody else was going to build it.

Nimbus Adaptive Controller
The Nimbus Adaptive Controller window, laid out as a game controller. Two large circular thumbstick pads with L3 and R3 buttons beneath them, a four-way D-pad, four oversized round face buttons marked A, B, X and Y, LT, LB, RB and RT shoulder buttons across the top, three mode buttons marked alpha, omega and beta, and a Mode: Standard readout. Every control is drawn oversized.
Nimbus Adaptive Controller, in a screenshot from its GitHub repository. A full gamepad laid out as oversized targets a pointer can hit one at a time, shipped and MIT licensed. The same substitution principle, pointed at a different tool.

Twice now, someone here has needed a piece of accessible software badly enough to build it themselves and give it away.

ATDev, on why editor accessibility is not abstract to us

Where OPAL actually stands

UEMCP is released and usable now. The accessible-input layer described on this site is scoped as a six-month program of work and is not yet funded or built. This page is updated as pieces land.

Help us build it, or be one of the first to use it

Designed and tested with disabled creators from the start, not validated at the end. If you work in Unreal with alternative input, or want to, tell us how you work.