Install
LOOMLE can be installed through two channels:
- Native install from this website.
- Fab install from Epic/Fab.
Both paths connect Claude Code, Codex, or another MCP-compatible host to the same Unreal Editor bridge and tool surface.
Choose an Install Path
Option A: Native Install
Use the native install if you want the full CLI workflow, direct LOOMLE updates, and explicit project plugin management.
Native install:
- Installs a global
loomlecommand under~/.loomleby default. - Provides
loomle mcpfor MCP hosts. - Can install or update project-local
Plugins/LoomleBridgewithproject.install. - Updates through
loomle updateor the website installer.
Option B: Fab Install
Use the Fab install if you want to install LOOMLE from Epic/Fab and manage the Unreal plugin through Epic Launcher.
Install LOOMLE MCP for Unreal on Fab
Fab install:
- Installs
LoomleBridgethrough Fab/Epic Launcher. - Includes the Python MCP server source used by the Fab setup flow.
- Uses the Loomle toolbar inside Unreal Editor to check setup status.
- Lets Fab/Epic Launcher own plugin updates.
- Keeps an existing native
loomle mcpsetup if one is already configured.
Native Install
macOS and Linux
curl -fsSL https://loomle.ai/install.sh | bash
Windows PowerShell
& ([scriptblock]::Create((irm https://loomle.ai/install.ps1)))
MCP Host Command
Configure Codex, Claude, or another MCP host to run:
loomle mcp
LOOMLE does not use a daemon. Each MCP host session starts its own stdio loomle mcp process and attaches to one active Unreal project in that process.
MCP Host Setup
The installer attempts common MCP host setup automatically:
- Codex: if
~/.codexexists, the installer writes aloomleserver entry to~/.codex/config.toml. - Claude: if the
claudeCLI is available, the installer runsclaude mcp add --scope user loomle -- <loomle> mcp.
If automatic setup is skipped or you use a different install root, configure the host manually with the stable global command path:
codex mcp add loomle -- ~/.loomle/bin/loomle mcp
claude mcp add --scope user loomle -- ~/.loomle/bin/loomle mcp
For other MCP hosts, add a stdio server named loomle with:
{
"command": "~/.loomle/bin/loomle",
"args": ["mcp"]
}
After changing MCP configuration, restart the MCP host session. Use loomle doctor to inspect the global install and print host configuration hints.
After Native Install
The installer creates a global install under ~/.loomle unless LOOMLE_INSTALL_ROOT is set:
~/.loomle/bin/loomle: stable command used by shells and MCP hosts.~/.loomle/install/active.json: active LOOMLE version and binary path.~/.loomle/versions/<version>/: installed release payloads.~/.loomle/versions/<version>/plugin-cache/LoomleBridge/: plugin source used for project installs.~/.loomle/state/: known project and runtime records.
Updating LOOMLE updates the global command and active version. Registered offline projects may also be synced to the active plugin version. Projects that are open in Unreal Editor are skipped and should be updated after the editor is closed.
Native Project Setup
- Close Unreal Editor for the target project.
- Call
project.installwith the targetprojectRoot. - Open or restart Unreal Editor for that project.
- Call
project.list. - Call
project.attachwith the target online project.
project.install copies the cached global plugin into <ProjectRoot>/Plugins/LoomleBridge/, records the project under the global LOOMLE state directory, and applies LOOMLE’s required editor support setting. It refuses to run while that project is online in Unreal Editor.
When Unreal Editor starts with LoomleBridge loaded, the plugin reports a runtime endpoint for that project. project.list discovers those online projects, and project.attach selects one for the current MCP session. Attach state is per MCP session; there is no global active Unreal project.
Fab Install
- Install LOOMLE MCP for Unreal from Fab.
- Enable the
LoomleBridgeplugin in Unreal Editor if needed. - Restart Unreal Editor.
- Open the Loomle toolbar or status panel.
- If Codex or Claude configuration is detected and no existing LOOMLE MCP server is configured, LOOMLE can configure the Fab Python MCP server.
- If a native
loomle mcpsetup already exists, keep using it. The native MCP server can connect to the Fab-installed plugin. - Restart the AI host, then call
project.listandproject.attach.
Fab install does not create a global ~/.loomle/bin/loomle command. Plugin updates are owned by Fab/Epic Launcher. If you later install native LOOMLE, the native MCP server should use the existing Fab-managed plugin instead of overwriting it.
Fab Python MCP Location
The Python MCP server used by the Fab setup flow is inside the installed Unreal plugin:
<PluginPath>/Resources/MCP/
pyproject.toml
loomle_mcp_server.py
loomle_mcp/
tool-manifest/
<PluginPath> is the actual LoomleBridge plugin folder reported by Unreal. Depending on how Fab/Epic Launcher installed the plugin, that can be an Engine plugin path or a project plugin path such as:
<ProjectRoot>/Plugins/LoomleBridge
In the LOOMLE source repository, the same Python MCP server is maintained under mcp/python/. The Fab package copies that source into LoomleBridge/Resources/MCP/; users should configure MCP hosts against the installed plugin’s Resources/MCP directory, not the source checkout.
What Fab Automatic Setup Writes
When the Loomle setup panel can safely configure an MCP host, it does not install a daemon and it does not replace unrelated MCP servers. It:
- Detects the installed
LoomleBridgeplugin path. - Checks that
<PluginPath>/Resources/MCP/loomle_mcp_server.pyexists. - Builds a stdio MCP server entry named
loomle. - Backs up the host config before editing it.
- Merges only the
loomleentry. - Keeps an existing native
loomle mcpentry unchanged.
For Codex, the Fab Python MCP entry in ~/.codex/config.toml is:
[mcp_servers.loomle]
command = "uv"
args = ["--directory", "<PluginPath>/Resources/MCP", "run", "loomle_mcp_server.py"]
For Claude Desktop-style JSON config, the equivalent entry is:
{
"mcpServers": {
"loomle": {
"command": "uv",
"args": [
"--directory",
"<PluginPath>/Resources/MCP",
"run",
"loomle_mcp_server.py"
]
}
}
}
After editing MCP configuration, restart the AI host so it starts the new stdio server.
Manual Fab MCP Configuration
If automatic setup is not available, add a stdio MCP server named loomle with the same command:
{
"command": "uv",
"args": [
"--directory",
"<PluginPath>/Resources/MCP",
"run",
"loomle_mcp_server.py"
]
}
This runs the Python MCP server from the Fab-installed plugin resources. The server discovers online Unreal projects through LOOMLE runtime records, so once Unreal Editor is open with LoomleBridge loaded, use project.list and project.attach from the MCP host.
How the Paths Work Together
- Native CLI can connect to a Fab-installed
LoomleBridgeplugin. - Fab setup does not replace an existing native
loomle mcpconfiguration. - Native
project.installshould not overwrite a Fab-managed plugin. - Native updates are owned by
loomle updateor the website installer. - Fab plugin updates are owned by Fab/Epic Launcher.
CLI Commands
loomle mcp: run the stdio MCP server.loomle update: update the global LOOMLE install.loomle doctor: inspect the global install and print MCP configuration hints.
MCP tools are not duplicated as CLI subcommands.