Docs / Shipping Your Game Guide

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:

  1. BuildPreprocessor:

    • Validates that the build target is 64-bit Windows (StandaloneWindows64).
    • Verifies that all eight native libraries (llamalib_win-x64_avx2.dll and llamalib_win-x64_noavx.dll for the language model; ggml-base.dll, ggml.dll, whisper.dll, ggml-cpu-haswell.dll and ggml-cpu-x64.dll for speech-to-text; localnpc_winspeech.dll for 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 NpcRuntimeConfig uses StreamingAssets mode, verifies all required models are present before spending time compiling.
  2. 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 .exe is shipped or started.
    • Emits LocalNPC_BuildManifest.json documenting exact package versions, platform, the SHA-256 checksum of each native library, and pre-bundled models for support triage.

📦 Model Distribution Modes

In NpcRuntimeConfig, set Storage Mode:


📋 Release Checklist Before Building

This page is the file docs/08-shipping-your-game.md of the LocalNPC package documentation (also in the package as Documentation~/08-shipping-your-game.md).