Shipping Your Game Guide
How to build, package, and deploy standalone players using LocalNPC.
🏗 Build Pipeline Overview
LocalNPC provides automated pre-processing and post-processing build pipeline integration:
BuildPreprocessor:- Validates that the build target is 64-bit Windows (
StandaloneWindows64). - Verifies that all eight native libraries (
llamalib_win-x64_avx2.dllandllamalib_win-x64_noavx.dllfor the language model;ggml-base.dll,ggml.dll,whisper.dll,ggml-cpu-haswell.dllandggml-cpu-x64.dllfor speech-to-text;localnpc_winspeech.dllfor the voice) exist, are real binaries (not un-pulled Git LFS pointer stubs), and have the SHA-256 the package was tested with. - If any
NpcRuntimeConfigusesStreamingAssetsmode, verifies all required models are present before spending time compiling.
- Validates that the build target is 64-bit Windows (
BuildPostprocessor:- Does not copy the native libraries. Unity places them in
{ProjectName}_Data/Plugins/x86_64/, and LocalNPC loads them from that folder only. The language model, speech-to-text and the voice library run inside the game's process; no.exeis shipped or started. - Emits
LocalNPC_BuildManifest.jsondocumenting exact package versions, platform, the SHA-256 checksum of each native library, and pre-bundled models for support triage.
- Does not copy the native libraries. Unity places them in
📦 Model Distribution Modes
In NpcRuntimeConfig, set Storage Mode:
Mode 1: PersistentDataPath (Recommended for Online Steam/Epic Releases)
- Installer Size: Without the model files. The size of a build without models is not measured yet.
- First-Run UX: Game launches, detects missing models, and displays the First-Run Provisioning dialog (see
DemoSceneController). Models download to%LocalAppData%\..\LocalLow\<Company>\<Game>\LocalNPC\models. - Patch Friendly: Game updates don't require re-downloading the model files (1.20 GB for the default Balanced preset, 569 MB for Fast).
Mode 2: StreamingAssets (Recommended for Offline/Kiosk/DVD/Retail)
- Installer Size: The model files are added to the build: 1.20 GB for the default Balanced preset, 569 MB for Fast (file sizes in the model catalogue).
- First-Run UX: Zero download required. Game plays immediately offline.
- Setup: Models must be placed in
Assets/StreamingAssets/LocalNPC/.BuildPreprocessorvalidates their presence before building.
📋 Release Checklist Before Building
- [ ] Target Platform is set to PC, Mac & Linux Standalone -> Target Platform: Windows, Architecture: Intel 64-bit.
- [ ] Tested at least one full conversation turn in a standalone build (Mono or IL2CPP).
- [ ] Checked
LocalNPC_BuildManifest.jsongenerated in your build output folder. - [ ] The players' PCs run Windows 10 or 11. The voice is a Windows system voice and is not part of your build: without a voice for the NPC's language, the NPC answers in text only (see Troubleshooting).