FaceNinja

Creator Kit · for VTubers · free

Your face. Your stream.

Turn your FaceNinja head into a MetaHuman that talks and moves with you, on a small stage in Unreal Engine 5.8. Your coding agent builds it from seven prompts. You type, it speaks; you smile, it smiles. Then you capture it in OBS.

Version 0.3.1 · 6.6 MB · MIT licence · Windows and Mac

Size and SHA-256 for scripts and agents: version.json

The kit
Version0.3.1
Download6.6 MB · zip
LicenceMIT, free for monetised channels
NeedsUnreal Engine 5.8 (free), a FaceNinja head and a coding agent that can use MCP
Runs onWindows 10 or 11, macOS 14 or newer

One photo, then a head that talks.

Creator Kit demo video
One AI-generated photo, then the FaceNinja head made from it, then that head talking in the kit's room, rendered in Unreal 5.8. First line: the free Kokoro voice with Epic's free lip sync from audio. Second line: an ElevenLabs voice with the paid Runtime MetaHuman Lip Sync plugin. The talking head is FaceNinja's ARKit head (52 blendshapes) on MetaHuman Creator's body and hair, rendered offline.

Everyone in this video is synthetic. Use your own face and voice, or an original character.

Download the video (MP4, 7.3 MB)

Three parts, one evening.

  1. Your head

    Make a head from your photos in FaceNinja and download the MetaHuman ZIP.

  2. Your agent builds the stage

    Unzip the kit, open your coding agent in that folder and paste seven prompts, one at a time. The agent drives Unreal through Unreal's own MCP server and the kit's tools.

  3. You stream

    Your iPhone or webcam moves the face. Type a line and your avatar says it. OBS captures the window.

No code to write. Each prompt ends with something you can check.

Small download, everything wired.

A streaming room

A warm little room with a sofa, a bookshelf, a plant and soft lights, three cameras (close-up, bust, wide) and a green screen you can switch on.

Your MetaHuman

One tool imports your MetaHuman ZIP, fits MetaHuman Creator's face to it exactly and picks the closest hair, brows and lashes.

Face tracking

Live Link Face on an iPhone, or Epic's webcam face tracking.

Type to talk

A small panel and a voice server on your computer. The free Kokoro voice starts speaking in about 0.1 s on a recent graphics card.

Ready for OBS

Play in a 1920×1080 window for OBS window capture, with a green screen when you want your own background. NDI on Mac and Spout on Windows are options.

GLB and FBX heads too

The kit also brings in your head's GLB or FBX with its 52 ARKit blendshapes, at life size and with the material setting Unreal needs to show them.

Plus agent notes (AGENTS.md) and MCP settings for Claude Code, Codex, Cursor, VS Code and Gemini CLI.

What you need.

Computer, software and accounts
WhatRecommendedMinimum
ComputerWindows 11 with an NVIDIA RTX 3070 or better, or a Mac with M2 Max or newer and 32 GB of memoryA PC with an RTX card and 16 GB of RAM, or a Mac with M1 or newer and 16 GB (lower frame rate)
Disk150 GB free100 GB free
SoftwareUnreal Engine 5.8, OBS, a virtual audio cable (VB-CABLE or BlackHole) and a coding agent. Prompt 1 checks and installs them with you.
AccountsFaceNinja, and a free Epic Games account for MetaHuman Creator's rig
OptionalAn iPhone 12 or newer with the free Live Link Face appA webcam

Free by default.

Free

  • The kit (MIT licence)
  • Unreal Engine 5.8, MetaHuman Creator and Live Link Face
  • Epic's lip sync from audio
  • OBS, BlackHole and VB-CABLE (donations welcome)
  • The Kokoro and Chatterbox voices, on your computer

Paid, only if you choose it

  • Your FaceNinja head, in credits (prices)
  • ElevenLabs voices, on your own ElevenLabs account and billed by ElevenLabs per character
  • The Runtime MetaHuman Lip Sync plugin on Fab: about $280 per seat for creators under $100,000 a year, $840 above

Unreal takes no royalty on streamed or recorded video. Prices of other companies' products as of October 2026; check their sites.

Copy, paste, check.

Paste them in order, one at a time, and wait until your agent is done. Each one ends with what you should see.

01 · Install what you need

Time: 20–90 minutes, mostly downloads

Prompt · English
I am setting up the FaceNinja Creator Kit in this folder. I do not write code, so explain each step in one short
sentence and ask me before anything that needs my password, installs a driver, or changes system settings.

1. Tell me my operating system, CPU, RAM, graphics card and free disk space, and compare them with the
   "What you need" table in GUIDE.md. Warn me if something is below the minimum.
2. Check what is installed and tell me what is missing:
   - Unreal Engine 5.8 (Windows: C:\Program Files\Epic Games\UE_5.8; Mac: /Users/Shared/Epic Games/UE_5.8).
     If it is missing, do not install it yourself: tell me to install Unreal Engine 5.8 from the Epic Games
     Launcher's Library tab (default options), and wait until I say it is done.
   - OBS Studio. Offer to install it (Windows: winget install OBSProject.OBSStudio; Mac: brew install --cask obs).
   - A virtual audio cable. Windows: VB-CABLE from https://vb-audio.com/Cable/ (I run its installer as
     administrator and restart). Mac: brew install --cask blackhole-2ch (it asks for my password).
     Only from these places.
   - uv (https://docs.astral.sh/uv/getting-started/installation/).
3. In tts/, make the voice environment: uv venv -p 3.11, then uv pip install -r requirements-kokoro.txt
   (on a PC with an NVIDIA card add --extra-index-url https://download.pytorch.org/whl/cu128).
4. Run uv run python server.py --list-devices in tts/ and show me the output devices.

End with a checklist: Unreal 5.8, OBS, virtual cable, voice environment, each with a tick or a cross.

You should see: four ticks: Unreal 5.8, OBS, the cable and the voice.

02 · Connect your agent to Unreal

Time: 10–20 minutes

Prompt · English
Open the kit's Unreal project and connect to Unreal's own MCP server.

1. Open FaceNinjaCreatorKit/FaceNinjaCreatorKit.uproject with Unreal Engine 5.8 (Mac: open -a with
   "/Users/Shared/Epic Games/UE_5.8/Engine/Binaries/Mac/UnrealEditor.app" and the project path; Windows:
   "C:\Program Files\Epic Games\UE_5.8\Engine\Binaries\Win64\UnrealEditor.exe" with the project path).
   Tell me the first start takes several minutes while it compiles shaders.
2. The project starts Unreal's MCP server at http://127.0.0.1:8000/mcp. This folder already has the MCP
   settings for you (.mcp.json, .cursor, .vscode, .gemini, .codex). If you cannot see an "unreal-mcp" server,
   tell me how to reload your MCP settings, or add that URL yourself.
3. Wait until the server answers, then list the toolsets. You should find FaceNinjaKitTools. Describe it and
   tell me in one sentence per tool what you can now do for me.

You should see: your agent lists the FaceNinja tools.

03 · Build your stage

Time: 2–5 minutes

Prompt · English
Using FaceNinjaKitTools in Unreal, build my streaming stage.

1. Call build_stage. It makes a small room with a sofa, a bookshelf, a plant, lights and three cameras.
2. Take a still from each camera with stage_screenshot (closeup, bust, wide) and show them to me.
3. Ask me which camera I want for streaming and call set_camera with it.

You should see: three stills of the room.

04 · Bring in your FaceNinja head

Time: 15–30 minutes

Prompt · English
Using FaceNinjaKitTools in Unreal, turn my FaceNinja head into a MetaHuman and put it on my stage.
My head ZIP is: <drag the ZIP file here>

1. Call import_head_zip with that path. Tell me which hair, brows and lashes it picked.
2. Tell me that the next step sends my head's shape (not my photos) to Epic's free MetaHuman service, and that
   a browser window may ask me to sign in to my Epic account. Wait for my OK.
3. Call preview_avatar so I can see my head in the room, and show me a stage_screenshot (bust camera).
4. Call rig_head, then download_head_textures. Tell me: "A browser opens Epic's sign-in page. Unreal stops
   answering until you sign in and approve it there; that is normal." Wait until I say I approved it, then
   check head_status every 30 seconds until rigged and high_res_textures are both true.
5. Once rigged: call build_metahuman, then place_avatar.
6. Take a stage_screenshot with the bust camera and show it to me.

You should see: your MetaHuman in the room.

05 · Connect your iPhone or webcam

Time: 10 minutes

Prompt · English
Using FaceNinjaKitTools in Unreal, connect my iPhone's Live Link Face app to my avatar.

1. Call my_ip_address. Tell me where to type it in the app (Settings > Live Link > Add Target, port 14785).
2. Ask me for the phone's IP address (Live Link Face shows it in its settings), then call connect_iphone.
3. Call connect_face with FN_iPhone, then play_in_window.
4. Ask me to smile, blink and turn my head, and whether the avatar follows. Ask before changing any firewall
   setting.

You should see: the avatar copies your face.

06 · Type to talk

Time: 10 minutes

Prompt · English
Start the kit's voice server and connect it to my avatar.

1. Ask me which voice I want:
   a. a free preset voice that runs on my computer (Kokoro, default),
   b. my own voice (Chatterbox): ask me to record 10-20 seconds of myself reading any text in a quiet room as
      tts/my_voice.wav, then set it up with requirements-chatterbox.txt,
   c. a studio voice from ElevenLabs: it needs my own ElevenLabs account, costs money per line and sends my text to ElevenLabs.
      Ask me to put my own ElevenLabs API key in the ELEVENLABS_API_KEY environment variable myself; never write it to a file.
2. In tts/ start the server in the background with my cable as --device ("BlackHole" on a Mac, "CABLE Input" on
   Windows):
   a. uv run python server.py --engine kokoro --preset af_heart --device "<cable>"
   b. uv run python server.py --engine chatterbox-turbo --voice my_voice.wav --device "<cable>"
   c. uv run python server.py --engine elevenlabs --voice Rachel --device "<cable>"
3. In Unreal, using FaceNinjaKitTools: voice_status, then connect_voice (it listens on the cable), then
   connect_face with FN_Voice, then play_in_window, then open_talk_panel.
4. Call say with "Hi everyone, welcome back to the stream!" and ask me if the lips moved with the voice.

You should see: it says your line with moving lips.

07 · Go live with OBS

Time: 10 minutes

Prompt · English
Help me show my avatar in OBS Studio.

1. In Unreal, using FaceNinjaKitTools: play_in_window (1920x1080). If I want my own background instead of the
   room, call set_green_screen with true first.
2. In OBS add a "Window Capture" (Windows) or "macOS Screen Capture" set to that Unreal window. Tell me the
   clicks; you cannot click in OBS for me.
3. Only with the green screen: add a "Chroma Key" filter (key colour green) and show me where "Similarity" is.
4. Add an "Audio Input Capture" of "CABLE Output" (Windows) or "BlackHole 2ch" (Mac), and set its
   "Audio Monitoring" to "Monitor and Output" so I hear the voice too.

You should see: your avatar in OBS, with its voice.

Every step, with what to do when something does not work, is in GUIDE.md in the zip.

Three kinds of voice.

Voices for type to talk
VoiceRuns onFirst soundCostNotes
Kokoro (default)Your computerAbout 0.08 s on an RTX 5080, 0.09 s on an M5 Max MacFree (Apache-2.0)54 preset voices in 8 languages
Your own voice (Chatterbox)Your computerAbout 0.7–1.1 s on an RTX 5080 or an M5 Max MacFree (MIT)From 10–20 seconds of your own recording. Every clip carries an inaudible watermark that marks it as synthetic.
Cloud voice (ElevenLabs)The cloudDepends on your connection; not measured by usBilled by ElevenLabs, per character, on your planYour typed lines go to ElevenLabs. You bring your own ElevenLabs account and API key.

First sound: time from sending a line to the first audio, measured through the kit's voice server in October 2026.

Questions about the kit.

01Do I need to code?
No. You paste prompts; your agent runs the tools and shows you pictures of the result.
02Does it work on a Mac?
Yes, on a Mac with M1 or newer and Unreal 5.8. Epic's real-time face tools run on Macs from Unreal 5.8.
03What leaves my computer?
Your head's shape goes to Epic when MetaHuman Creator builds the rig. If you pick the cloud voice, the lines you type go to ElevenLabs. Nothing else: no photos, no recordings.
04Can I sell videos made with it?
Yes. The kit is MIT, Unreal takes no royalty on video, and Kokoro and Chatterbox allow commercial use. Check ElevenLabs' and Fab's terms for their parts.
05Is the paid lip-sync plugin included?
No. It is sold per seat on Fab. The free path uses Epic's own lip sync from audio.
06Can I share my avatar as an app?
Not with the free lip sync: Epic's audio source works in the editor (Play), which is how a VTuber stream runs. A packaged app needs the paid plugin.
07I only have the GLB or FBX. Can I use it?
Yes, for stills and animation. The files are in metres, so the head comes in at life size, and the kit turns on Used with Morph Targets on its materials so the blendshapes do not render black. Live face and voice drive the MetaHuman, so use the MetaHuman ZIP for streaming. More in the Unreal notes.

Licences.

The kit is MIT (LICENSE in the zip). The room's art is CC0 from Poly Haven. Everything else (Unreal, MetaHuman, OBS, the cable, the voices, the optional plugin) you install yourself, under its own licence; THIRD_PARTY.md in the zip lists each one with its link.

Ready? Make your head, then download the kit.