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.
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.
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 todayA voice command grammar
Panels, tools and exact numeric transforms, spoken. A command grammar rather than dictation, released open so you can fork it.
In designGaze to jump, head to refine
Gaze throws the pointer across the screen, head tracking settles it, a discrete trigger confirms. Never gaze alone.
In designSwitch and sip-and-puff
A scanning command palette, so one reliable trigger reaches the whole editor.
In designAccessible camera and Sequencer
Spoken framing, numeric camera placement and named views, with no held-button chord.
In designAn 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 designSubstitute. 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.
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
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.
Twice now, someone here has needed a piece of accessible software badly enough to build it themselves and give it away.
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.