Languages: English | 中文
Companion repositories: cutscene_agent · CutsceneProvider
A VS Code GitHub Copilot customization for Unreal Engine cutscene creation. Through custom Agents, Skills, and MCP servers, it enables end-to-end cutscene creation from script to UE Level Sequence.
- Script-Driven Creation — Paste a script and the AI automatically handles character placement, dialogue voiceover, body animation choreography, and camera design
- Voice & Expression Asset Tools — Built-in MCP server stubs. Plug in your own TTS and facial expression generation tools.
- Intelligent Camera Choreography — Select and combine camera shots from template library, supporting Dolly, Orbit, and other camera movements
- Virtual Photographer — Independent sub-Agent that controls the UE editor viewport for real-time composition adjustments
- Install prerequisites (see "Prerequisites" below)
- Configure MCP connection: Copy
.vscode/mcp.example.jsonto.vscode/mcp.jsonand adjust addresses as needed - Start creating: Select the cutscene-director Agent in VS Code Copilot Chat and paste your script
.github/
├── agents/
│ ├── cutscene-director.agent.md # Director Agent: main creation workflow
│ └── photographer.agent.md # Photographer Agent: editor viewport control
└── skills/
└── cutscene-creator/
├── SKILL.md # Creation workflow Skill entry point
└── references/
├── rules-cutscene-workflow.md # Content structure & creation workflow
├── rules-asset-system.md # Asset query & import
├── rules-actor.md # Character placement rules
├── rules-audio.md # Audio / TTS / facial expression rules
├── rules-camera.md # Camera design rules
└── script-format.md # Script format guide
locales/
└── zh/ # Chinese version (mirrors .github/ structure)
mcp_servers/
└── aigc_asset_tools.py # AIGCAssetTools MCP server (built-in)
.vscode/
└── mcp.example.json # MCP connection config template
- VS Code with GitHub Copilot extension (Agent mode support required)
- Unreal Engine project with CutsceneProvider plugin installed (provides the MCP server)
- Python 3.10+ for running the AIGCAssetTools MCP service
This project depends on two MCP servers:
| Server | Purpose | Connection |
|---|---|---|
| CutsceneProvider | UE Level Sequence operations (characters / cameras / animations / timeline) | HTTP, launched by the UE plugin |
| AIGCAssetTools | TTS audio generation, facial expression generation, file import bridge | Stdio (script included in this repo) |
pip install -r mcp_servers/requirements.txtCopy the config template and modify as needed:
cp .vscode/mcp.example.json .vscode/mcp.jsonDefault configuration (.vscode/mcp.example.json):
- CutsceneProvider: Start the CutsceneProvider plugin in the UE editor first; it provides an HTTP MCP service on the specified port
- AIGCAssetTools: Uses stdio mode; VS Code automatically manages the process lifecycle. The
--ue-mcp-urlargument specifies the CutsceneProvider address, used for bridging features likepush_file_to_ue
- Ensure the CutsceneProvider MCP service is running (enable the plugin in UE editor)
- Open Copilot Chat in VS Code
- Select the cutscene-director Agent
- Paste your script content — the director will automatically complete the full creation workflow
Use the cutscene-creator Skill in Copilot Chat and follow the guided creation process.
The Director Agent will automatically delegate to the photographer sub-Agent when composition adjustments are needed.
Script Input
│
├─ Step 1: Query Assets → Discover available characters, animations, voice tones, camera templates
├─ Step 2: Add Characters → Place characters and adjust orientation
├─ Step 3: Generate Audio → TTS voiceover → Facial expressions → Import to UE → Add to timeline
├─ Step 4: Body Animation → Match animations by emotion / duration
├─ Step 5: Camera Design → Create cameras, apply templates, set up cuts
└─ Step 6: Review & Adjust → Verify timeline integrity
For detailed creation workflow, tool dependency chains, and rules, refer to the Skill documentation in .github/skills/cutscene-creator/.
The default .github/ contains English versions. Chinese versions are available in locales/zh/.github/.
Switch to Chinese: Copy the contents of locales/zh/.github/ over .github/:
cp -r locales/zh/.github/* .github/The Skill rules provided in this repo are written for the sample project. Some rules may need adjustment for your project. For example:
- Animation timeline rules: The default rule is "no gaps allowed on animation timeline; brief overlaps are acceptable (UE handles blend transitions automatically)". If your project uses Blueprint-based Idle states, gaps may be acceptable. If your animations are designed to chain seamlessly, overlaps should be avoided. Adjust
rules-cutscene-workflow.mdaccordingly. - Asset query fields: If your CutsceneProvider uses different asset field structures, the Agent will dynamically discover them at runtime via
get_query_instruction— no Skill file changes needed. - Camera templates: The Agent dynamically queries via
get_available_camera_templates; custom templates will be automatically available.
We recommend reading the rule files in .github/skills/cutscene-creator/references/ and adjusting them to your project's needs.
If you find this work useful, please cite our paper:
@article{he2026cutscene,
title={Cutscene Agent: An LLM Agent Framework for Automated 3D Cutscene Generation},
author={He, Lanshan and Pang, Haozhou and Gan, Qi and Shen, Xin and Zhang, Ziwei and Liu, Yibo and Fang, Gang and Liu, Bo and Sheng, Kai and Zeng, Shengfeng and Li, Chaofan and Hui, Zhen and Zhou, Keer and Zhou, Lan and Dai, Shujun},
journal={arXiv preprint arXiv:2604.25318},
year={2026}
}This project is licensed under the MIT License. See the LICENSE file for details.
{ "servers": { "CutsceneProvider": { "url": "http://localhost:8100/mcp", // UE plugin MCP address, adjust as needed "type": "http" }, "AIGCAssetTools": { "type": "stdio", "command": "python", "args": ["${workspaceFolder}/mcp_servers/aigc_asset_tools.py", "mcp", "--ue-mcp-url", "http://localhost:8100/mcp"] } } }