Getting started
Arcwright is a real game engine you drive by hand. Open a sample or a blank scene, place and shape everything yourself in the editor, and press Play. An AI can help with the boring parts: connect the AI app you already pay for (Claude Code, Codex, Cursor, Claude Desktop) and it uses the same tools you do, while you stay in control.
Get Arcwright
Download it free from www.arcwrightengine.net/download. The page lists each file's SHA-256 so you can check the download (shasum -a 256 <file> on a Mac).
- Mac (macOS 14 Sonoma or later, Apple silicon): open the
.dmgand drag Arcwright to Applications, then open it from there. - Windows (10 or 11, 64-bit, a graphics card with OpenGL 4.5 and Vulkan 1.3): unzip the download (right-click, Extract All), open the folder and double-click Arcwright Editor.
- Linux and Steam Deck (64-bit): unpack the
.tar.gzand run its installer, which adds Arcwright to your applications menu. It needs Steam's "Steam Linux Runtime 3.0 (sniper)" (Steam › Library › Tools); SteamOS has it.
The built-in AI chat and Sparks are on the Mac for now. On every system you can connect your own AI app (below).
The first five minutes
- Open Arcwright. The welcome screen offers the sample games, a new game, and connecting an AI.
- Open a sample game and press Play (Command-P). Play runs your game on a copy of the world; Stop puts everything back exactly as it was.
- Change one thing (select an object, change a value in the Inspector) and play again.
- Pick how you like to work. Both are the same editor with the same commands; switch any time with ⌘K: Make mode ("Make Mode" in ⌘K): for people who have never used a game editor. Describe what you want, show pictures, press Play. Pro mode ("Pro Mode" in ⌘K): the full editor, with the Scene list, the Inspector, the dock and the chat beside them.
- Describe your own game in your own words: its kind, what the player does, how you win and lose, the look. Say "a 2D platformer where a fox collects acorns", not "make me <a game that already exists>": agents refuse to copy existing games, and the engine's recipes are written for kinds of games.
Connect your AI
Your own AI app can build in Arcwright on your own plan: it calls the editor's tools, and every step it takes shows in the editor's Agent panel, where you can watch it and undo it.
- On a Mac open Help › Connect an AI App… (also on the welcome screen). On Windows and Linux use Connect your AI on the welcome screen.
- Pick your app. Set Up for Me adds Arcwright to that app's settings for you and changes nothing else in them. Or press Copy and add it yourself: Claude Code (recommended), one line in Terminal:
claude mcp add --transport http --scope user arcwright http://127.0.0.1:7357/mcp --header "Authorization: Bearer <token>", then start it withclaude --model claude-opus-5-5in any folder. Codex: a table in~/.codex/config.toml:[mcp_servers.arcwright],url = "http://127.0.0.1:7357/mcp",http_headers = { "Authorization" = "Bearer <token>" }. Cursor: an entry in~/.cursor/mcp.json:{ "mcpServers": { "arcwright": { "url": "http://127.0.0.1:7357/mcp", "headers": { "Authorization": "Bearer <token>" } } } }. Claude Desktop: an entry inclaude_desktop_config.jsonthat runs the small bridge inside Arcwright.app (arcwright-mcp, with the token in itsARCWRIGHT_TOKEN), then quit and reopen Claude Desktop. Any other MCP app: the server is MCP over streamable HTTP athttp://127.0.0.1:7357/mcp, with the headerAuthorization: Bearer <token>. - Start your app and ask it to build a game in Arcwright.
The window fills in your own token; copy it from there rather than typing it.
Pairing, in plain words. The editor only listens on your own computer, and the shipped app only answers AI apps you paired: the token in the setup is that pairing. Keep it private, like a password for your editor. Connect each app you trust once. If you think a token got out, Help › Reset AI connection… cuts off every app, and you connect the ones you trust again. An app without the token gets "Pairing required … the token is in the editor's Agent panel".
Check that it works. Ask your AI to call the hello tool: the editor shows "<your app> says hello". Then ask it to call find_tools with a goal in plain words, for example "a 2D platformer". It should answer with a recipe: a numbered list of tools, starting with that kind of game's playbook. If your app can't connect:
- the editor isn't open, or its Agent panel says "Agent link not running": port 7357 is taken by another app (see Output);
- "Pairing required": the app's setup has no token, or an old one; run Connect an AI App again for it;
- a tool takes a long time: some (a long play test, a proof) run for minutes, and the Agent panel shows what it is doing.
Find your way around
The Scene panel lists objects. The center viewport shows the scene. The Inspector edits the selected object's Properties or its As text representation. The bottom dock includes Content, Agent, History, Output, Playtest and Workshop.
Click an object to select it. In the viewport, hold the right mouse button to look around; while doing that, W/A/S/D fly, Q/E move down/up, Shift moves faster, and the scroll wheel changes speed. Use Scene → Frame Selected to bring the selection into view. Input focus matters: typing in a text field is different from moving around the viewport.
Make your first editable object
Choose Scene → Add Cube. Select the cube, change its transform or color in the Inspector, and use Frame Selected to see it. Save the scene. Undo and Redo are under Edit; History shows scene commands.
For a moving cube, follow the short script example in Core concepts. A mesh alone supplies appearance, not a player, collision system, or gameplay rules.
Play, inspect, stop
Use Scene → Play / Stop (Command-P) to start and stop gameplay. Gameplay runs on a copy of the editable world. Stopping returns to editing; do not expect a crate moved by a gameplay script to permanently move in the saved scene. Project file operations such as saving a game are a separate matter and can persist.
Use Output for script errors. Use Playtest / Scene → Run Tests for the current Game Plan's checks, and read the actual outcomes. A scene without a player/controller component is not automatically a playable first-person game; an agent can use start_game to create an appropriate starting scene.
Import models, pictures and sounds
Use File → Import… (Shift-Command-I) for .glb or .gltf, or let your AI call import_files with files, whole folders or .zip packs: models (glTF/GLB, FBX, OBJ, USD), pictures, texture sets (they become surfaces you can put on anything), sounds (WAV and FLAC everywhere; MP3, OGG, M4A and AIFF are converted on the Mac), fonts and video. Units and the up axis are fixed, and levels of detail and a collision shape are made for models. import_report says what came in, what was fixed and what failed and why. Only use assets you're allowed to use (CC0 packs are a good start).
Imports land in Assets/Imported; a model reference in a component is relative to Assets/, such as Imported/Crate/Crate.glb, not the Downloads path.
Appendix: build from source
For developers working on the engine itself, on a Mac (macOS 14 or later, the Swift tools, Metal): from a checkout of the engine, Scripts/run-editor.sh builds the release TTREditor and TTRForgeWorker and launches the editor. The editor looks for Projects/Sandbox and opens the Downtown scene when it's there; open your own project with ./.build/release/TTREditor -project "$HOME/ArcwrightProjects/MyGame" (add -scene "GuideScene" to open a scene by name). A release build pairs AI apps like the shipped app (its Agent panel shows the token and the Claude Code line); a debug build doesn't unless asked to. On a managed development machine, follow that machine's build-queue rules instead.