It shows its work
When a run ends, the agent can open the lines it changed beside your work and step you through them. It never moves your cursor or closes your tabs, and one click puts your layout back.
Game development from an alternate timeline.
A free, open-source game engine. Write a game as a few pure functions, or describe a change and watch an agent make it while the game runs.
loading
examples/platformer/game.fun
Run functor in a project and it opens a workbench with your game on one side
and a coding agent on the other. The agent can see the running game: its state, its
frames, its inputs. So you can talk about what is on screen.
Say what should change, in plain words.
The jump falls short. Make it clear the gap.
It reads the live game state and changes the code. It can press keys, step frames and capture the picture to check.
The running game picks up the new code in place. No rebuild, no restart, and your state survives.
Pause, step a frame at a time, or drag back along the timeline and watch the moment again.
Read the diff, then keep the change or revert it. Each task is one change you can undo.
The app is a preview, on macOS first, and is not in the prebuilt download yet. To try it
today, build it from source: npm run build:app && npm run build:cli,
then ./target/release/functor -d <project>.
When a run ends, the agent can open the lines it changed beside your work and step you through them. It never moves your cursor or closes your tabs, and one click puts your layout back.
The transport bar under the game works like the web player's. Marks on the rail show where you pressed a key and where the code reloaded, so the moment you care about is easy to find again.
Some changes have to be judged from inside the game. Functor reloads a running game on a Meta Quest the same way it does on the desktop.
functor run vr runs your project on the headset and reloads it every
time you save, with an indicator in view.
Edit your game while it runs. The runtime swaps your code under the live model. No rebuild, no restart, no losing your place.
Rewind while editing, make changes, or extrapolate forward to see how your edits ripple through gameplay.
Read the live values moving through your game at any moment. The whole state is plain data, so nothing is hidden from you or from an agent.
The app is one client of an open door. Register functor mcp and any
coding agent, in any terminal, can launch, inspect, drive and rewind your game with
the same tools.
Asset management, networking, physics, and spatial audio. In the box, ready to use.
Put the fun in functional programming.
Functor is a functional language built for game development, inspired by Elm and F#. Pure functions, interpreted, no compilation. It lives in a Rust runtime that does the heavy lifting: graphics and physics. Because a game is plain data and pure functions, it can be reloaded, rewound and read, by you or by an agent.
Windows · macOS · Linux
WebAssembly · no install
Meta Quest
Nothing to install. Try it in the browser now.