Install & connect
Give your assistant one prompt and it installs and connects PinWright for you. If you prefer to do it yourself, it is two steps: add the plugin to your project, then connect your assistant with one click from the setup window in the editor.
Install with your assistant
Your assistant can do both steps for you if it can run commands: Claude Code, Codex CLI, Cursor in agent mode, Gemini CLI or Cline. Open it in your Unreal project's folder and give it this request:
Install PinWright into this Unreal project and connect yourself to it by following https://github.com/PinWright/pinwright-ue/blob/master/AGENT_INSTALL.md
To update PinWright later, give it the same prompt again.
1Or install the plugin yourself
PinWright is open source under the MIT License, and every path gives you the same plugin. GitHub is free: build from source, or download a prebuilt Windows zip from GitHub Releases. Fab supports the project and lets you install and update through the Epic Games Launcher.
| Path | Cost | Platforms | Build step |
|---|---|---|---|
| GitHub source | Free (MIT) | Windows, Linux | Yes, C++ project |
| GitHub Releases zip | Free | Windows | Only if Unreal asks |
| Fab, Epic Games Launcher | Supports the project | Windows | No |
Unreal Engine 5.3 to 5.8. Linux is supported through a source build; there is no macOS version.
From source (free, MIT)
Clone the repository into your project's Plugins folder:
cd <YourProject>/Plugins git clone https://github.com/PinWright/pinwright-ue.git PinWright
The folder must be named PinWright. Then regenerate project files (on Windows, right-click the .uproject → Generate Visual Studio project files), build the Development Editor target, open the editor and enable the plugin. This needs a C++ project; for a Blueprint-only project, add any C++ class first or use the Fab install instead.
Prebuilt zip (free, Windows)
Download the zip for your engine version from GitHub Releases, unzip PinWright into your project's Plugins folder, regenerate project files, build the editor target if Unreal asks, then open the editor and enable the plugin.
Fab and the Epic Games Launcher
Buy the plugin on Fab, install it to your Unreal Engine version from the Epic Games Launcher, then enable it from the editor's plugin browser. No build step, and updates arrive through the Launcher.
2Connect your assistant in one click
When you open the editor with the plugin enabled, the PinWright Setup window opens automatically (it also reopens if PinWright cannot start). You can reopen it any time from Tools → PinWright Setup.
The window shows the local address and a green Server listening status. Click Install next to your assistant (Claude Code, Codex CLI, Cursor, Gemini CLI, VS Code Copilot). That adds PinWright to your assistant's MCP config and sets up the access token, so there is no file to edit and no port to look up. Cursor opens an install prompt you confirm inside Cursor. Restart or reload your assistant and it connects.
You only need this detail if you set things up by hand or debug a connection. The config that Install writes does not point your assistant at a port directly. It launches the plugin's bundled stdio proxy, Content/Python/mcp_proxy.py, on the engine's bundled Python, with two file paths: --token-file (the access token in Saved/PinWright/gateway-token) and --port-file (the live port in Saved/PinWright/gateway-port). The proxy reads the port again before every request, so the config keeps working when the port changes or the editor restarts. The config holds only paths, never the token itself, so it is safe to commit.
Assistants without a button
For Windsurf, Cline or anything else, copy the Agent setup prompt from the window and paste it to your assistant. It sets itself up.Manual setup (fallback)
If you would rather set things up by hand, or your assistant is not listed, write the same entry the Install button writes. “Project root” (<project>) means the Unreal project the plugin is installed into.
Stdio proxy (recommended)
Your assistant starts the proxy as a local process. Use the engine's bundled Python (under Engine/Binaries/ThirdParty/Python3/<Platform>/) or any Python 3; the proxy uses only the standard library. For Claude Code, create or merge <project>/.mcp.json:
{
"mcpServers": {
"pinwright": {
"type": "stdio",
"command": "<engine Python>",
"args": [
"<project>/Plugins/PinWright/Content/Python/mcp_proxy.py",
"--token-file", "<project>/Saved/PinWright/gateway-token",
"--port-file", "<project>/Saved/PinWright/gateway-port"
]
}
}
}The same pinwright entry goes into <project>/.cursor/mcp.json (Cursor) and <project>/.gemini/settings.json (Gemini CLI) under mcpServers, and into <project>/.vscode/mcp.json (VS Code with GitHub Copilot) under the top-level key servers. For Codex CLI, create or merge <project>/.codex/config.toml:
[mcp_servers.pinwright] command = "<engine Python>" args = ["<project>/Plugins/PinWright/Content/Python/mcp_proxy.py", "--token-file", "<project>/Saved/PinWright/gateway-token", "--port-file", "<project>/Saved/PinWright/gateway-port"] startup_timeout_sec = 5.0 tool_timeout_sec = 300.0
Windsurf (~/.codeium/windsurf/mcp_config.json), Cline (cline_mcp_settings.json) and any other client take the same command and args in their own config format. The proxy reads the port and token files on every call, so the config works before the editor has ever run.
Ports
By default, Auto-derive Port From Project Path is on, so each project gets its own port in 19880–30119 and several projects run side by side without colliding (two editors of the same project still share a port). To pin one fixed port instead, turn off Auto-derive Port From Project Path under Edit → Editor Preferences → Plugins → PinWright (the HTTP group) and set a fixed Http Port (it defaults to 19880). The setup window always shows the resolved address, and the editor writes the bound port to Saved/PinWright/gateway-port, so you never have to guess it.
Keep it local
The endpoint is loopback-only by default. Do not expose the port to a LAN, VPN, container, or the internet, do not put a reverse proxy in front of it, and use it only with assistants you trust on your own machine, since they can read and change your project's assets. To rotate the token, deleteSaved/PinWright/gateway-token, restart the editor, and click Install again.