Private, offline character dialogue for UE5 — no cloud, no API keys.
Local Multimodal LLM is a Win64 Unreal Engine runtime plug-in for private, offline character dialogue. It embeds llama.cpp for text generation, exposes isolated multi-character sessions, and provides provider-neutral speech input and output components — all running on the player's own hardware.
A look at the plug-in driving character dialogue inside Unreal Engine.
Local inference. No APIs, no cloud, runs entirely on-device.
Everything ships as one plug-in — enable only what a project needs.
GGUF model discovery via *.localllm.json manifests. One loaded model serves every character session — no duplicate loads per actor.
Isolated, cancellable sessions per character with per-character KV-state reuse. Switching characters lazily saves/restores llama sequence state.
Session-IsolatedStructured character/world Data Assets, compacted conversation memory, and optional custom context — with configurable reasoning mode and generation limits.
Data AssetsSentence-guarded streaming for subtitles and low-latency TTS, with jailbreak and immersion guards that sanitize or retry unsafe output before it reaches the player.
GuardsTyped, allow-listed Unreal tool requests. The model never touches reflected functions or console commands directly — game code validates and executes every call.
Type-SafeOptional trust/affinity-style relationship judging with developer-selected criteria and prompt mappings — previewed or applied at deliberate story boundaries.
OptionalPush-to-talk or optional always-on VAD, noise-floor calibration, contextual vocabulary correction, and one-turn rollback for accidental captures.
STTNative sherpa-onnx TTS in Shipping builds, with optional NeuTTS-2E and Chatterbox Editor/Development sidecars for reference-voice cloning during iteration.
TTSTwo artifact sets, so distribution size scales with what a project actually ships.
~80 MB. Broad Win64 distribution.~1.0 GB. NVIDIA-optimized development.libmtmd.The full walkthrough lives in the User Guide — this is the shape of it.
LocalMultimodalLLM into the project's Plugins directory.Binaries/ThirdParty/LlamaCpp/Win64.<Project>/Models.*.localllm.json manifest, or copy an example from Examples/Models.Get Available Models → Load Model By Id → wait for ModelLoaded → create character sessions → submit text or speech.The User Guide covers plugin setup, character/world sheets, the Blueprint coordinator pattern, tool calls, relationship evaluation, microphone/TTS configuration, and troubleshooting.
📘 Open the User GuideBuilt on open-source inference and speech tooling.
Mock STT/TTS providers and the Python NeuTTS-2E/Chatterbox development sidecars are not registered in Shipping builds — the packaged native CPU speech path is Pocket TTS and sherpa-onnx. Model weights, voice datasets, and demo-map assets are project test material, not plug-in payload. An LLM remains nondeterministic: authoritative gameplay state and all mutating actions stay validated by game code.