Open UEFN Kit
Describe → Slice → Build → Prove → Play → Learn.
Open UEFN Kit is an agent plugin for building small, complete UEFN + Verse gameplay slices.
It is for creators who want the AI to do more of the implementation work without turning the project into spaghetti.
It uses:
- GitHub Copilot custom agents
- Agent Skills
- Epic's Unreal MCP in UEFN
- a separate machine-verification pass
- short human playtests for game feel
Community project. Not affiliated with Epic Games. Fortnite, Unreal Engine, UEFN, and Verse are trademarks of Epic Games.
The loop
YOU DESCRIBE PLAYER-VISIBLE BEHAVIOR
↓
SLICE
freeze tiny acceptance criteria
↓
BUILD
devices + Verse + editor changes
↓
PROVE
compile + launch + runtime evidence
↓
PLAY
you test the tiny human-feel gate
↓
LEARN
observation → next tiny experiment
↺
The kit does not claim that an agent can automatically judge whether a Fortnite map feels fun.
It automates what can be proven by the machine. It leaves feel, clarity, pacing, and fun to a short human playtest.
First 10 minutes
1. Prepare UEFN once
Use UEFN 42.00 or newer.
In UEFN:
- Enable Python Editor Scripting.
- Enable the UEFN MCP Toolsets / Unreal MCP support exposed by your current UEFN build.
- In Editor Preferences, enable MCP auto-start if you want it always available.
- Keep the default endpoint unless you have a reason to change it:
http://127.0.0.1:8000/mcp
See docs/setup.md if the MCP connection does not appear.
2. Install the plugin
VS Code
Run this command from the Command Palette:
Chat: Install Plugin From Source
Then paste the Git repository URL once this project is hosted.
For a local clone, register the clone with VS Code's chat.pluginLocations setting.
Copilot CLI
From a local clone:
copilot plugin install .
From GitHub after publishing:
copilot plugin install RCSnyder/open-uefn-kit
3. Open your UEFN project in VS Code
Open the UEFN project root, not this plugin repo.
Select the UEFN Loop agent.
Try:
Add a red button beside the exit.
When I press it, open the barrier and show EXIT OPEN for two seconds.
Do not change combat or scoring.
The agent should reply with a tiny slice, then delegate implementation and proof.
What success looks like
The final report should look roughly like this:
SLICE
Pressing ExitButton opens ExitBarrier and shows feedback.
NOT TOUCHING
Combat. Scoring. Spawn rules.
MACHINE PROOF
Verse compile: PASS
Play session: PASS
Runtime errors: none observed
AC-01 barrier transition: PASS
AC-02 feedback event: PASS
AC-03 human interaction clarity: HUMAN NEEDED
YOUR PLAYTEST
1. Press the red button once.
2. Tell me what you noticed before the door opened.
3. Tell me whether the change felt obvious and satisfying.
No fake green checks. If evidence is missing, the result is UNPROVEN.
Included agents
| Agent | Purpose | Mutation rights |
|---|---|---|
| UEFN Loop | Coordinates one complete iteration | Delegates |
| UEFN Explorer | Finds existing devices, Verse, state, and reuse points | Read-first |
| UEFN Builder | Makes the smallest complete change | Yes |
| UEFN Verifier | Compiles, launches, inspects, and reports evidence | Verification-only |
See docs/architecture.md.
Included skills
uefn-setup— connect the editor and recover MCP setupuefn-slice— turn vibe-language into a tiny testable sliceuefn-mcp— discover and call current UEFN MCP tools safelyuefn-verse— maintainable Verse implementation rulesuefn-runtime-proof— machine proof and evidence labelsuefn-playtest-feedback— turn playtest observations into the next experiment
Skills stay small on purpose.
Detailed material lives in references/ and loads only when needed.
Design rules
- One slice at a time.
- Devices first. Verse glue second. Bigger systems only when earned.
- Discover current MCP tools. Do not memorize stale tool names.
- Compile after a small meaningful edit.
- Do not issue overlapping Unreal MCP calls.
- Builder does not grade its own work.
- Machine proof is not human game feel.
- No speculative architecture.
- Prefer
@editabledependencies over hidden scene coupling. - Use Lore for the UEFN project. Do not add a second VCS over the same project folder.
Current status
0.1.0 is a robust starter, not a promise of full autonomous play.
The most important next test is real:
Can a fresh user install this, say “add a button that opens a barrier,” and reach a launched, compiled, evidence-reported UEFN session with minimal manual implementation?
That is the first acceptance test for this repo itself.
Validate this repo
python scripts/validate_plugin.py
The validator uses only the Python standard library.
Read next
- Setup
- Architecture
- Testing contract
- Security
- Version control
- Compatibility and bleeding-edge notes
- Example prompts
License
MIT. See LICENSE.