Model or dataset
kevinpbuckley/VibeUE avatar
kevinpbuckley/VibeUE

VibeUE: an MCP expansion and AI editor toolset for Unreal Engine 5.8+

Unreal Engine Vibe Coding tool

711 stars160 forksC++MIT

At a glance

What is it?
VibeUE does not ship its own MCP server or chat window. It registers editor services into Unreal's native ToolsetRegistry and ModelContextProtocol endpoint, and its flagship addition is performance profiling, which the engine's own toolsets do not cover.
Who is it for?
Adopt VibeUE if you are already on Unreal Engine 5.8+ and have Epic's native MCP plugin and Editor Tools plugin running, and you want an agent to reach landscape, foliage, Niagara, UMG, animation, Behavior Tree and profiling surfaces that the engine's own toolsets leave out.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The gap VibeUE targets: depth the engine's own toolsets skip

Unreal Engine 5.8 introduced a built-in MCP server and a set of AI toolsets. Those cover general ground: Blueprints, materials, actors, assets, meshes, data tables, screenshots, logs and PIE. VibeUE's README is explicit that it does not duplicate that layer. It is positioned as an expansion, and the domains it adds are the ones the engine's toolsets do not reach: landscape sculpting, heightmaps and splines, landscape auto-materials with RVT, foliage, a procedural FPS map blockout, real-world terrain generated from GPS heightmaps and water, MetaSound and SoundCue graph authoring, AnimSequence keyframe editing, AnimMontage authoring, AnimBP state machines, Skeleton bone, socket, retarget and blend-profile editing, Niagara emitter color and curve authoring including custom HLSL scratch-pad modules, UMG widgets with MVVM bindings, and higher-order Blueprint authoring such as timelines, event dispatchers, delegates, custom-event pins, comment boxes and a batch build_graph builder. The audience is therefore narrow but specific: teams already using an MCP-capable agent against Unreal 5.8 or later, who have hit the ceiling of what the native toolsets expose. If you are not on 5.8+, none of this applies, because the plugin plugs into systems that did not exist before that release.

How VibeUE plugs into ToolsetRegistry, ModelContextProtocol and AgentSkill

The architecture is three registrations into native Unreal systems. First, VibeUE's services are registered as UToolsetDefinition objects in the engine's ToolsetRegistry, which makes their methods AICallable tools on the MCP endpoint. The same methods are BlueprintCallable, so they are reachable from Python as unreal.<Name>Service.<method>(). Second, a small set of VibeUE utility tools is registered directly on the MCP server through the ModelContextProtocol module: execute_python_code, discover_python_module, discover_python_class, discover_python_function, list_python_subsystems, deep_research and terrain_data. Third, roughly 36 markdown skill packs register as native UAgentSkill objects through the AgentSkillToolset, discoverable with ListSkills and loaded lazily with GetSkills, sitting alongside the engine's own skills.

The README gives a clear usage rule for agents: execute_python_code is the workhorse, because it batches a multi-step task into one round-trip and reaches every VibeUE service plus the full unreal.* API. The call_tool path is meant for skills and the few engine toolsets with no Python equivalent, screenshots being the example given. That is a design opinion worth noting: the tool surface stays small on purpose, and the Python escape hatch carries the weight. It also means the quality of an agent's output depends heavily on how well it writes unreal.* Python, not on how many named tools exist.

Installing VibeUE and running a first profiling pass

The README states the requirements as Unreal Engine 5.8+ and Git, and it is emphatic that VibeUE is an expansion of Unreal's native MCP support, so that must be set up first. The order matters: enable the Unreal MCP plugin, which the README says auto-enables Toolset Registry, then enable the Editor Tools plugin, then start the MCP server. Epic's guide, Unreal MCP in the Unreal Editor, is linked for the full procedure. The repository carries the usual plugin files, including VibeUE.uplugin, a Config directory, and build scripts at the top level such as BuildPlugin.bat, MakePlugin.ps1, BuildAndLaunchGame.ps1 and BuildAndLaunchGame.sh, though the README excerpt does not spell out which of these to run for a given host platform.

Once the endpoint is live, the README's own example is the fastest way to see whether the wiring works, because PerformanceService is exposed through Python:

python
import unreal
print(unreal.PerformanceService.frame_timing())   # CPU vs GPU bound - diagnose FIRST
unreal.PerformanceService.start_trace("cap", "")   # Insights trace
# reproduce the workload (ideally under PIE / standalone)
unreal.PerformanceService.stop_trace()
print(unreal.PerformanceService.analyse("both", ""))

What you should see is a Game, Render, GPU and RHI thread split with a CPU-versus-GPU-bound verdict and a next-step hint from frame_timing(), then a perf summary from analyse() covering frame stats, worst frames, hitches and notable log lines. The README pairs this with the profiling and frame-rate skills for a fuller drill-down. Note that start_trace takes two arguments in the example, a capture name and an empty string; the README does not document what the second argument does.

TransactionService and WorkflowService: the safety layer agents usually lack

Two services in the README are not about authoring at all, and they are the most interesting design choice in the project. TransactionService wraps the editor's transaction buffer, giving undo, redo and checkpoints so an agent can group its own edits and roll them back. The README states plainly that the engine's toolsets expose none of this. That is a real limitation on the native side, not a marketing line: an agent that edits a Blueprint through the engine's own tools leaves you with the standard undo stack and no way to treat a multi-step agent run as one unit.

WorkflowService is the second half. It adds an authoritative engine and build manifest, durable task journals that record which assets were affected, asynchronous PIE scenarios that compile, inject input, assert, capture and guarantee teardown, and dry-run-first resumable bulk maintenance. The Behavior Tree tooling is described as writing through the editor EdGraph with refusal guards when PIE is running or the asset is open in the editor. Taken together, the project is making a claim about trust: an agent should be able to touch a live editor session, and the plugin should be the thing that stops it from doing so at the wrong moment. Whether those guards cover every service is not stated in the README.

Where VibeUE is the wrong tool

The engine version floor is the first hard boundary. Unreal Engine 5.8+ is required, and there is no indication of a backport path, because the plugin depends on ToolsetRegistry, ModelContextProtocol and AgentSkillToolset, all of which the README describes as native 5.8+ systems. On 5.7 or earlier there is nothing to expand.

The second boundary is the API key. The README says a free API key, set in Editor Preferences under Plugins, VibeUE, unlocks the real-world terrain tools, and that everything else works without one. So the terrain and GPS heightmap workflow is the one feature with a network dependency and a registration step. If your work is entirely offline or you cannot register a key, treat terrain as unavailable and evaluate the rest on its own.

The third is scope. VibeUE deliberately does not duplicate basic asset, actor, Blueprint and material CRUD, screenshots, logs or PIE. If that is all your agent needs, installing VibeUE adds a second layer of tools and roughly 36 skill packs to the context for no gain. The README also directs agents to prefer execute_python_code over call_tool, so a team that wants a small, fixed set of named tools with tight schemas may find the Python-first model harder to constrain than they expect.

Alternatives and the difference in approach

The closest comparison in the README is Unreal's own native AI toolsets, and the difference is architectural rather than feature-by-feature. The native toolsets are the endpoint: they register their own tools and stop there. VibeUE is a plugin that registers into that same endpoint, so it is additive by construction, and the two coexist on one MCP server. The practical consequence is that you cannot swap one for the other; you either run the native MCP setup with VibeUE on top, or you run the native setup alone and accept that landscape, foliage, Niagara, UMG, animation, Behavior Tree and profiling are out of reach.

Beyond the engine itself, the related searches surface other names in this space, including UnrealClaude, UnrealGenAISupport, Runreal Unreal MCP, Cybever AI Unreal Engine and UE5 companion AI. The README does not describe any of them, so no honest comparison is possible. What can be said is structural: a project that ships its own MCP server and its own chat panel is a different product from one that expands the engine's endpoint and adds no chat UI, which is what VibeUE states about itself. If you want a single self-contained tool with its own interface, that is a different category of thing, and VibeUE is not it. If you want the engine's endpoint to reach further without a second server to run, that is exactly the shape VibeUE takes.

Maintenance, licence and upgrade cost

The repository is not archived, and the last push was on 2026-09-04, which is recent. The licence is MIT, stated in the README badge and present as a LICENSE file at the top level. MIT is permissive: it allows commercial and closed-source use, modification and redistribution, provided the copyright notice and permission notice are retained. That is a description of the licence terms, not legal advice; if your organisation has a policy on third-party plugin licences, run it past whoever owns that policy. The one thing to check yourself is whether the free API key that unlocks the terrain tools carries separate terms, since the README treats it as distinct from the plugin licence and does not describe it further.

Upgrade cost is tied to the engine version. Because VibeUE registers into ToolsetRegistry, ModelContextProtocol and AgentSkillToolset, an engine release that changes those interfaces can break the plugin, and the README's stated floor of 5.8+ will move as Epic revises them. There are no retrieved releases, so there is no changelog to gauge how often the plugin has had to track engine changes. The repository does carry a FAB-Checklist.md and FAB-DESCRIPTION.md at the top level, which suggests packaging for distribution is part of the workflow, but the README excerpt does not describe a release process. Treat the plugin as something you pin to an engine version and retest when you move.

Editorial conclusion

Adopt VibeUE if you are already on Unreal Engine 5.8+ and have Epic's native MCP plugin and Editor Tools plugin running, and you want an agent to reach landscape, foliage, Niagara, UMG, animation, Behavior Tree and profiling surfaces that the engine's own toolsets leave out. Do not adopt it if you are on an earlier engine version, if you want a self-contained server or an in-editor chat panel, or if you only need basic asset, actor and Blueprint CRUD, which the native toolsets already handle. Before committing, verify three things in your own project: that the Unreal MCP plugin auto-enables Toolset Registry as the README states, that your agent can reach the endpoint and call execute_python_code, and whether you need the terrain tools, since those are the part gated behind a free API key set in Editor Preferences under Plugins, VibeUE.

Frequently asked questions

What is VibeUE used for?

It expands Unreal Engine 5.8+'s built-in MCP endpoint with an AI editor toolset covering landscape, foliage, terrain, audio, animation, Niagara, UMG, Behavior Trees and profiling, so an MCP-capable agent can drive those editor domains. It registers into the engine's ToolsetRegistry and ModelContextProtocol server rather than running its own server.

Which Unreal Engine MCP is considered the best?

The README does not rank MCP servers. It states that VibeUE is an expansion of Unreal's native MCP support rather than a competing endpoint, and that it deliberately does not duplicate the engine's general toolsets for assets, actors, Blueprints, materials, screenshots, logs and PIE.

How does VibeUE work with Unreal Engine's MCP?

VibeUE is an expansion, not a replacement. The README states you must first enable the Unreal MCP plugin, which auto-enables Toolset Registry, and the Editor Tools plugin, then start the MCP server; VibeUE registers its services into that same endpoint as UToolsetDefinition objects and adds a few utility tools such as execute_python_code directly on the MCP server.

How do you vibe code in Unreal with VibeUE?

You connect any MCP-capable agent such as Claude Code, Cursor or Copilot to Unreal's standard MCP endpoint after enabling the native MCP and Editor Tools plugins. The README advises agents to use execute_python_code as the main path, since it batches a multi-step task into one round-trip and reaches every VibeUE service plus the full unreal.* API.

Official sources

  1. Issues
  2. kevinpbuckley/VibeUE on GitHub
  3. License: MIT
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/kevinpbuckley-vibeue.svg)](https://hysenlabs.com/projects/kevinpbuckley-vibeue)