Free to browse, every day. Go Pro for unlimited installs and Airsc MCP.

See Pro
MCP serverSafeImages, video & audioAdvanced

VibeUE

kevinpbuckley · kevinpbuckley/VibeUE

Control Unreal Engine 5.8+ directly from AI agents to manage Blueprints, terrain, materials, and performance.

Unreal Engine Vibe Coding tool

786 stars168License: MITUpdated yesterday0 opens

Preview

▍

What you can do with it

  • Sculpting terrain or placing foliage in Unreal Engine via agent chat
  • Profiling and optimizing game performance using an AI assistant
  • Modifying complex Blueprint logic or material graphs through the agent

Safety check

Safe

No risky patterns found in the files we scanned.

Automated scan of the repo files. Always review code you run.

From the README

VibeUE — AI-Powered Unreal Engine Development

🧩 MCP Expansion + AI Editor Toolset for Unreal Engine 5.8+

https://www.vibeue.com/

VibeUE is the MCP Expansion + AI Editor Toolset for Unreal Engine 5.8+. Unreal 5.8 added a built-in MCP server and AI toolsets; VibeUE is an MCP Expansion that plugs straight into them and adds a deep AI Editor Toolset — a library of editor capabilities — Blueprints, materials, landscape, foliage, animation, Niagara, UMG, audio, StateTree, Behavior Trees & Blackboards, gameplay tags, input, UVs, performance/profiling, and more — registered into the engine's own ToolsetRegistry and ModelContextProtocol server, plus rich domain skills served through Unreal's native AgentSkill system. Any MCP-capable agent (Claude Code, Cursor, Copilot, …) drives your editor through Unreal's standard MCP endpoint.

⚠️ VibeUE requires Unreal's native MCP to be set up first — enable the Unreal MCP plugin (which auto-enables Toolset Registry) and the Editor Tools plugin, then start the MCP server. Follow Epic's guide: Unreal MCP in the Unreal Editor. VibeUE then expands that endpoint — no separate server and no in-editor chat. A free API key (set in Editor Preferences → Plugins → VibeUE) unlocks the real-world terrain tools; everything else works without one.


✨ What VibeUE adds

Unreal 5.8 ships its own AI toolsets (Blueprints, materials, actors, assets, meshes, data tables, …). VibeUE complements them — it focuses on the domains and depth the engine doesn't cover:

  • Terrain & world — Landscape sculpting/heightmaps/splines, landscape auto-materials + RVT, Foliage, procedural FPS Map Blockout, and real-world terrain (heightmaps + water from GPS).
  • Audio — MetaSound and SoundCue graph authoring.
  • Animation assets — AnimSequence keyframe editing, AnimMontage authoring, AnimBP state machines, Skeleton bone/socket/retarget/blend-profile editing.
  • FX depth — Niagara emitter color/curve authoring and Custom-HLSL scratch-pad modules.
  • UI — UMG widgets with MVVM bindings, animation authoring, and preview/PIE validation.
  • Higher-order Blueprint authoring — timelines, event dispatchers, delegates, custom-event pins, comment boxes, and a batch build_graph builder.
  • AI behavior authoring — Behavior Tree node/decorator/service editing by structural path with blackboard key binding, JSON tree round-trips, and validate/repair; full Blackboard asset + key CRUD. Writes go through the editor EdGraph with PIE- and open-editor-aware refusal guards.
  • Editor safety — TransactionService wraps the editor's transaction buffer (undo / redo / checkpoints) so an agent can group and roll back its own edits — the engine's toolsets expose none.
  • Verified workflows — WorkflowService adds an authoritative engine/build manifest, durable task journals with affected-asset provenance, asynchronous PIE scenarios (compile → input → assertion → capture → guaranteed teardown), and dry-run-first resumable bulk maintenance.
  • ⚡ Performance & profiling — VibeUE's standout: see the dedicated section below.
  • Python-first access — run any unreal.* Python in the editor and introspect the whole API.
  • Web research — search / fetch / geocode for in-context research and terrain workflows.

It deliberately does not duplicate the engine's general tools (basic asset/actor/blueprint/material CRUD, screenshots, logs, PIE) — agents use Unreal's native toolsets for those.


⚡ Performance & Profiling (flagship)

Unreal's native AI toolsets have zero performance tooling — they can start PIE/Simulate but can't measure anything. VibeUE's PerformanceService fills that gap so an agent can actually diagnose and fix frame rate:

  • frame_timing() — Game/Render/GPU/RHI thread split + a CPU-vs-GPU-bound verdict and a concrete next-step hint. Run this first — optimising the GPU does nothing on a CPU-bound frame.
  • Unreal Insights capture — start_trace / stop_trace / get_trace_status, with bookmark and region_start / region_end markers.
  • analyse() — reads the trace and log back and returns a perf summary (frame stats, worst frames, hitches, notable log lines).
  • Trace-attached start_standalone — profile a representative standalone build, not just the editor viewport.
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", ""))

Pair with the profiling and frame-rate skills for the full CPU/GPU drill-down.


🏗️ Architecture

VibeUE plugs into three native UE 5.8+ systems:

  1. Toolsets (ToolsetRegistry) — VibeUE's services register as UToolsetDefinitions, so their methods become AICallable tools on the MCP endpoint. They're also BlueprintCallable, so the same methods are callable from Python as unreal.<Name>Service.<method>().
  2. MCP server (ModelContextProtocol) — a small set of VibeUE utility tools are registered directly on the endpoint: execute_python_code, discover_python_module/_class/_function, list_python_subsystems, deep_research, terrain_data.
  3. Skills (AgentSkillToolset) — ~36 markdown skill packs register as native UAgentSkills, discoverable via ListSkills and loaded lazily via GetSkills, alongside the engine's own skills.

Efficient usage (for agents): execute_python_code is the workhorse — it batches a whole multi-step task into one round-trip and reaches every VibeUE service plus the full unreal.* API. Use call_tool only for skills and the few engine

View source on GitHub