Fathom
A Rider Plugin for improving UE5 C++ development for your LLM agent of choice
Fathom is a free, open-source plugin that helps AI coding assistants better understand your Unreal Engine 5 C++ projects. Whether you use Claude, Gemini, Codex, or any other LLM, Fathom gives them the right project context at the right time, reducing hallucinations and increasing your productivity.
Why Fathom?
Unreal Engine projects are more than just C++ code. They include various binary files that are linked to the C++ code. Without understanding what's happening "in engine", LLMs working on UE5 C++ projects frequently hallucinate class names, miss Blueprint relationships, and produce code that doesn't match your project's actual structure. They can only see the files you feed them, and they have no way to query your project as a whole.
Fathom solves this by exposing your project's full picture through MCP tools that any compatible AI assistant can call on demand.
What It Does
- Solution-Wide Code Analysis: Your LLM can query diagnostics and inspections for any file in the solution, not just the ones currently open.
- Blueprint and Asset Discovery: Find which Blueprints derive from a given C++ class, what they do and what their dependencies and referencers are.
- Automatic Data Freshness: Asset data is kept up to date so your LLM always works with the current state of the project.
- MCP Tools: Provides over 15 MCP tools to inspect various aspects as needed, using a UE5 plugin to query pertinent UE5 data.
Philosophy
Fathom is not here to automate everything. It exists to reduce the friction of using LLMs with UE5, especially for C++ development. It intentionally does not provide Blueprint or uasset editing capabilities. Instead it focuses on helping your LLM agents better understand the full codebase, both C++ and Blueprints.
Getting Started
Install the latest Fathom plugin from the JetBrains Marketplace or manually by downloading it from the GitHub releases page.
Requirements
- Rider 2025.3+
- Unreal Engine 5.4+
- Windows 10 or 11. Other operating systems not yet supported.
Companion UE Plugin
Blueprint and asset features require the Fathom UE Link companion plugin. Fathom prompts you to install it and offers two locations: Engine (recommended, installs to Engine/Plugins/Marketplace/) or Game (installs to the project's Plugins/ directory). Engine installation keeps your project clean and applies to all projects using that engine. The status bar widget shows the current installation status and location.
Connecting Your AI Assistant
Fathom exposes an MCP endpoint at http://localhost:19876/mcp (streamable HTTP transport). The port defaults to 19876 and can be changed in Rider under Settings > Tools > Fathom. If the configured port is already in use (e.g. by another Rider instance), Fathom automatically tries up to 10 consecutive ports.
Some tools are auto-configured on startup. If your tool was not configured automatically, follow the manual instructions below.
Claude Code (CLI)
Auto-configured. Fathom writes .mcp.json in the solution root on every startup.
To verify, type /mcp in your Claude Code conversation. You should see fathom listed.
If it was not picked up, create or edit .mcp.json in your solution root:
{
"mcpServers": {
"fathom": {
"type": "http",
"url": "http://localhost:19876/mcp"
}
}
}
Cursor
Auto-configured when a .cursor/ directory exists in the solution root.
To set up manually, create or edit .cursor/mcp.json:
{
"mcpServers": {
"fathom": {
"type": "http",
"url": "http://localhost:19876/mcp"
}
}
}
VS Code / GitHub Copilot
Auto-configured when a .vscode/ directory exists in the solution root.
To set up manually, create or edit .vscode/mcp.json:
{
"servers": {
"fathom": {
"type": "http",
"url": "http://localhost:19876/mcp"
}
}
}
Codex CLI
Create or edit .codex/config.toml in your project root (or ~/.codex/config.toml for global config):
[mcp_servers.fathom]
url = "http://localhost:19876/mcp"
Verify with:
codex mcp list
Gemini CLI
Create or edit .gemini/settings.json in your project root (or ~/.gemini/settings.json for global config):
{
"mcpServers": {
"fathom": {
"httpUrl": "http://localhost:19876/mcp"
}
}
}
OpenCode
Auto-configured when an opencode.json already exists in the solution root.
To set up manually, create or edit opencode.json in your solution root:
{
"mcp": {
"fathom": {
"type": "remote",
"url": "http://localhost:19876/mcp"
}
}
}
Verify with:
opencode mcp list
Windsurf
Edit %USERPROFILE%\.codeium\windsurf\mcp_config.json:
{
"mcpServers": {
"fathom": {
"serverUrl": "http://localhost:19876/mcp"
}
}
}
Claude Desktop
Claude Desktop requires HTTPS for its Connectors UI, so http://localhost URLs cannot be added there directly. Instead, use mcp-remote to bridge the connection via stdio.
Add the following to your claude_desktop_config.json (typically %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"fathom": {
"command": "npx",
"args": ["mcp-remote@latest", "--http", "http://localhost:19876/mcp", "--allow-http"]
}
}
}
Requires: Node.js (for
npx). Rider must be open with Fathom running before launching Claude Desktop.Port: The default port is
19876, but if that port is already in use (e.g. multiple Rider instances), Fathom will bind to the next available port. Check.fathom-server.jsonin your project'sSaved/Fathom/directory for the actual port.
Limitations
- Windows only
- Unreal Engine only (Unity support is planned)
- The UE companion plugin can be installed to the Engine (
Engine/Plugins/Marketplace/) or the Game project (Plugins/)
Documentation
- API Reference: Endpoint documentation with parameters, response formats, and status codes.
- Technical Overview: Architecture and design decisions.
- Unreal Companion Doc: Details on the UE companion plugin integration.
- Release Process: Versioning, bump script, and release workflow.
For Contributors
- Learnings & Troubleshooting: Hard-won lessons and SDK quirks.
- SDK API Notes: API details for contributors.
Building From Source
First-Time Setup
Initialize the required build tools:
pwsh -ep Bypass -File .\scripts\setup.ps1
Building and Running
.\gradlew.bat :compileDotNet # Compile the backend
.\gradlew.bat :runIde # Launch sandbox with the plugin
Once running with your project open, verify the plugin is active:
Invoke-RestMethod http://localhost:19876/health
License
This project is licensed under the MIT License - see the LICENSE file for details.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi