FaceEmote · Feature comparison

Which speech setup is right for your project?

FaceEmote gives your characters a voice, a lip-synced mouth (built in — no extra plugins needed), and a face that acts the line. Seven setups cover everything from a single drop-in node to fully offline playback of your own recorded audio. Compare them below, or answer a few quick questions and we’ll point you at the right one.

required not needed | supported not available
Speak
One node does it all: TTS voice, audio, timed emotions, and FaceEmote’s built-in lip sync — no add-ons.
Online · TTSCore plugin
Stream + your lip-sync plugin
FaceEmote streams the voice & emotions; a lip-sync plugin you already own drives the mouth.
Online · TTSCore plugin
OVR · full clip
TTS finishes, then Meta’s OVRLipSync analyzes the audio as it plays. Simplest OVR wiring.
Online · TTSOVR add-on
OVR · streaming
OVRLipSync analyzes chunk-by-chunk — the mouth starts moving on the first TTS chunk.
Online · TTSOVR add-on
Performance replay
Bake a TTS line once in the editor, then replay it anywhere — no network, no keys, no cost.
Offline replayCore plugin
Pre-recorded + OVR
Your own audio files or SoundWave assets, OVR-analyzed mouth, hand-placed emotions.
OfflineOVR add-on
Pre-recorded + your lip-sync plugin
Your audio, mouthed by a lip-sync plugin you already own; FaceEmote layers emotions & life on top.
OfflineCore plugin
Requirements
TTS key & network at runtime editor bake time only
OVRLipSync + FaceEmoteOVR both free add-ons your own plugin instead your own plugin instead
Editor prep beforehand bake once in PIE (runtime capture also works) just import or load your audio just import or load your audio
Blueprint wiring effort Lowone node Medium Low–Medium Medium Low Mediumemotions placed by hand Mediumemotions placed by hand; wiring per your plugin
Playback & timing
Starts speaking before the full line is generated first chunk first chunk waits for the whole line first chunk instant — no TTS wait instant — no TTS wait instant — no TTS wait
Works fully offline at runtime
Works in shipping builds replay ships; baking is editor-side
Uses your own recorded audio WAV · MP3 · FLAC · OGG · Opus · Bink replays its own captured lines files, buffers, or SoundWave assets whatever your plugin accepts; FaceEmote’s PCM nodes can feed it
Per-line runtime cost TTS API usage TTS API usage TTS API usage TTS API usage Free Free Free
Facial performance
Timed emotions from [tags], automatic baked into the asset place emotions by hand place emotions by hand
Word events & live text highlighting no word timestamps in plain audio no word timestamps in plain audio
Mouth driven by FaceEmote’s built-in 15-viseme lip sync is included — no add-ons needed FaceEmote built-in lip synctext-driven Your plugin’s audio analysis OVR audio analysis OVR audio analysis FaceEmote built-in lip syncbaked visemes OVR audio analysis Your plugin’s audio analysis
Non-English lip sync built-in lip sync is English-tuned depends on your plugin baked from the English lip sync depends on your plugin
Blinks, fidgets & organic motion idle drift, micro-gestures, natural transitions

Built-in lip sync: FaceEmote ships with its own 15-viseme, text-driven lip sync — Speak and Performance replay use it out of the box with zero add-ons. The OVR and third-party setups swap it for audio analysis when you want audio-accurate or non-English mouths; everything else FaceEmote does (emotions, blinks, organic motion) stays the same.

OVR setups: OVRLipSync is Meta’s free audio-analysis lip-sync plugin; the FaceEmoteOVR bridge connects it to FaceEmote. Both are free add-ons on top of the core plugin.

Audio extraction: FaceEmote includes built-in nodes to load PCM from audio files or buffers (WAV, MP3, FLAC, OGG Vorbis, OGG Opus, Bink), decode SoundWave assets at runtime, and save PCM back to WAV — no third-party importer plugin needed.

Mix & match: these setups coexist in one project — many games use runtime TTS for dynamic conversation and Performance replay or pre-recorded audio for scripted scenes.