# Extensions

Optional Unreal MCP extensions for Control Rig, Enhanced Input, GAS, Landscape and Water, Niagara and PCG. What each adds and how to install it.

_Last updated: 2026-11-04_

Extensions teach Unreal MCP about more engine systems. Each one is a separate, optional Unreal plugin with its own version and release. Install only the ones your project uses.

All extensions live in the [Unreal-MCP repository](https://github.com/IvanMurzak/Unreal-MCP) and are listed on the [Unreal extensions page](https://ai-game.dev/docs/extensions/unreal).

## How extensions work

Each extension is an **RQL module**. It does not add MCP tools of its own. Instead it adds sources, operations and members to the core `rql-query`, `rql-mutate` and `rql-schema` tools (see [Tools](https://ai-game.dev/docs/wiki/unreal/tools#rql)), plus a section in the `unreal-rql` skill that teaches the agent how to use it. The agent's tool list stays short while its reach grows.

Reflection already exposes the properties of every loaded engine type, so even without an extension the agent can, for example, set the asset of a Niagara component. An extension adds what reflection does not show, such as listing Niagara systems with their emitters or sculpting a landscape.

## Requirements

- Unreal Engine **5.7 or later** (the extension test suite verifies 5.7 and 5.8).
- Unreal MCP **0.26.0 or later** in the same project.
- A C++ toolchain. Extensions ship as source and are compiled for your project and engine.
- The engine plugin each extension builds on. The installer enables it for you.

No extension needs another extension.

## The six extensions

| Extension | Extension id | Engine plugin | What it adds |
| --- | --- | --- | --- |
| AI ControlRig | `com.ivanmurzak.unreal-ai-control-rig` | ControlRig | Create rigs with bones, controls and a two-bone IK solver; query Control Rig blueprints and components |
| AI EnhancedInput | `com.ivanmurzak.unreal-ai-enhanced-input` | EnhancedInput | Query Input Actions and Mapping Contexts, create actions and contexts, map keys |
| AI GAS | `com.ivanmurzak.unreal-ai-gas` | GameplayAbilities | Query ability, effect and attribute-set classes and granted abilities, grant abilities to actors |
| AI Landscape | `com.ivanmurzak.unreal-ai-landscape` | Water | Create, sculpt and paint landscapes; query landscapes, water bodies and water zones |
| AI Niagara | `com.ivanmurzak.unreal-ai-niagara` | Niagara | Query Niagara systems and their emitters, place systems in the level |
| AI PCG | `com.ivanmurzak.unreal-ai-pcg` | PCG | Query PCG graphs and components, add components and run generation |

The current release of each extension is 0.2.0.

### What each RQL module contains

| Extension | Sources | Operations |
| --- | --- | --- |
| AI ControlRig | `controlRigs`, `controlRig` | `CreateRig`, `AddBone`, `AddControl`, `AddTwoBoneIK` |
| AI EnhancedInput | `inputActions`, `inputContexts`, `enhancedInput` | `CreateAction`, `CreateContext`, `AddMapping`, `RemoveMapping`, `AddActionEvent`, `AddMappingContextOnBeginPlay` |
| AI GAS | `gasAbilities`, `gasEffects`, `gasAttributeSets`, `gas` | `GrantAbility` |
| AI Landscape | `landscapes`, `waterBodies`, `waterZones`, `landscape` | `Create`, `Sculpt`, `Paint`, `CreateLayerMaterial` |
| AI Niagara | `niagaraSystems`, `niagara` | `SpawnSystem` |
| AI PCG | `pcgGraphs`, `pcg` | `AddComponent`, `Generate` |

You do not need to remember these names. The agent reads them from `rql-schema` and the skill. They help when you read the agent's queries.

## Install with unreal-mcp-cli

Close the Unreal Editor first, then:

```bash
unreal-mcp-cli install-extension com.ivanmurzak.unreal-ai-niagara ./YourProject
```

The command:

1. Looks up the extension id in the extension index and finds its newest GitHub release.
2. Places the plugin in `<project>/Plugins/<PluginName>/` (for example `Plugins/UnrealAINiagara/`).
3. Enables the extension and its engine plugin in your `.uproject`.
4. Leaves compilation to the next editor launch, or compiles right away with `--build`.

It is safe to run again: if the same version is already installed and enabled, nothing changes. It never downgrades an installed extension unless you ask for a version.

Useful flags:

- `--version 0.2.0` installs an exact release.
- `--build` compiles now (Windows, macOS and Linux).
- `--source <dir>` installs from a local folder, for offline machines and CI.
- `--force` re-installs even when up to date.

You can install by extension id, display name or plugin folder name.

## Install from the editor or the app

- **In the editor:** the **Extensions** section of the AI Game Developer window lists installed extensions and, after **Refresh catalog**, the available ones. **Install** and **Update** download the extension; a new extension shows "Installed · needs editor restart to compile" until it is built, or use **Compile (Live Coding)**.
- **In the AI Game Dev app:** use the sidebar's extensions action (or `/install-extension` in the app's CLI). The app picks the newest release. See [Projects and engines](https://ai-game.dev/docs/wiki/app/projects-and-engines#extensions).

## Turn an extension on or off

Each installed extension in the Extensions section has an enable toggle. Turning it off removes its additions from the agent immediately, with no editor restart. The choice is kept across editor sessions.

## Example prompts

- "List every Niagara system in the project and show the emitters of NS\_Fire." (AI Niagara)
- "Create a Boolean Input Action IA\_Jump and a Mapping Context IMC\_Default, and map the space bar to it." (AI EnhancedInput)
- "Grant GA\_Fireball to the Hero actor." (AI GAS)
- "Create a landscape and paint a grass layer on it." (AI Landscape)
- "Add a PCG component with PCG\_Forest to the ForestVolume actor and generate it." (AI PCG)
- "Create a rig with a three-bone chain and a two-bone IK on it." (AI ControlRig)

## Write your own extension

Any Unreal plugin can add its own RQL module, tools, prompts or resources without forking Unreal MCP. See [Custom tools](https://ai-game.dev/docs/wiki/unreal/custom-tools).

---

Source (HTML): https://ai-game.dev/docs/wiki/unreal/extensions
