Companion repositories: CutsceneProvider · cutscene_copilot
Cutscene Agent turns natural-language scripts into fully editable Unreal Engine cutscenes — with coordinated character animation, dialogue, and cinematography — in minutes, not weeks.
Give your coding agent these two skills:
- install-cutscene-agent — clone the required repositories, install dependencies, configure and build the UE plugin, start MCP, verify the environment, and offer to run the bundled demo as an acceptance test.
- cutscene-gen — query available assets and use CutsceneProvider tools effectively to create, inspect, and repair cutscenes.
With both skills, an MCP-capable agent such as Codex, Claude Code, opencode, or a Copilot-style agent can set up the project and control Sequencer from natural-language requests.
- Python 3.10+
- Unreal Engine 5.6
- CutsceneProvider
- An OpenAI-compatible LLM API for the Python CLI
Online TTS, facial-animation, and vision services are optional. A bundled demo can use offline audio and animation assets without those services.
The repository includes a ready-to-use UE project at
demo/UE_CSAgent_demo.
git clone https://github.com/Kuaishou-GameMind/cutscene_agent.git
cd cutscene_agent
python -m venv .venvActivate the virtual environment using the command appropriate for your platform, then install dependencies:
python -m pip install -r requirements.txtUse the bundled project under demo/UE_CSAgent_demo, or install
CutsceneProvider into another UE project's Plugins directory. The plugin
folder must be named CutsceneProvider:
cd YourProject/Plugins
git clone https://github.com/Kuaishou-GameMind/CutsceneProvider.git CutsceneProviderEnable these plugins:
PythonScriptPluginControlRigCutsceneProvider
Regenerate project files and build the editor target if UE asks to compile
CutsceneProviderEditor.
- Open the UE project.
- Open the target Level Sequence in Sequencer.
- Go to
Tools -> Cutscene Tools -> Open Cutscene Panel. - Select the sequence and click Start.
The default endpoint is:
http://localhost:8100/mcp
Configure your agent to connect to the CutsceneProvider endpoint, teach it the cutscene-gen skill, and describe the scene in natural language:
Make a demo with the bundled character, voice line, and greeting animation.
Set the configuration in the process environment:
LLM_BASE_URL=http://localhost:11434/v1
LLM_API_KEY=your-api-key
LLM_MODEL_NAME=your-model
UE_MCP_URL=http://localhost:8100/mcpThen run:
python main.py
.env.exampledocuments the variables, but the current CLI reads process environment variables directly.
Cutscene Agent uses two MCP layers:
| Component | Role |
|---|---|
| CutsceneProvider | Runs inside UE and edits Level Sequences, actors, animations, audio, cameras, assets, and the viewport |
| AIGCAssetTools | Provides optional external generation hooks for TTS, facial animation, vision, and file delivery |
The main Director agent can delegate character staging, animation selection, and viewport composition to specialized sub-agents.
| Category | Tools |
|---|---|
| State | get_sequence_content, clear_sequence, save_sequence_as |
| Assets | get_queryable_asset_kinds, query_assets, get_available_characters, get_available_animations |
| Characters | add_character, orient_character_to_center |
| Audio and face | add_character_audio, add_character_facial_animation, import_dynamic_asset |
| Animation | add_character_animation |
| Camera | add_camera, apply_camera_template, set_active_camera |
| Viewport | take_editor_screenshot, take_camera_screenshot, move_view |
The open-source AIGC service functions in
mcp_servers/aigc_asset_tools.py are
extension points:
tts_functionaudio_to_face_expressionvideo_understanding
Connect these functions to your own services when you need dynamically
generated speech, facial animation, or visual analysis. The file bridge
push_file_to_ue is ready to send generated assets into CutsceneProvider.
cutscene_agent/
├── main.py
├── core/ # Director, sub-agents, and session recording
├── prompt/ # Prompt assembly and cutscene workflow rules
├── mcp_servers/ # Optional AIGC asset service
├── skills/
│ ├── install-cutscene-agent/
│ └── cutscene-gen/
└── docs/
@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.