Lesson 226: Wwise DSP Packaged Windows Steam Build Receipt (2026)
Direct answer: Packaged Windows Steam builds that crash or stay silent on AK::SoundEngine::Init usually shipped without Wwise DSP binaries in Plugins/Wwise/.../x64. File wwise_dsp_packaged_receipt_v1.json with D1–D6 gates—DSP folder inventory, Init log, one posted event boot probe—then promote wwise_dsp_packaged on BUILD_RECEIPT. Distinct from Lesson 203 FMOD WebGL snapshots and Lesson 228 (queued).

Why this matters now (January 2027 Windows fest depots)
January 2027 teams finish Ren'Py PO-hash rows then push Steam Windows depots from CI. Editor play works because Wwise loads DSP from the local SDK; packaged builds omit AkMotion.dll, AkConvolutionReverb.dll, or platform-specific effects—Init fails on player PCs with no Wwise install. Discord logs show AK::SoundEngine::Init failed while soundbanks are present.
Guide Wwise DSP plugin path preflight is the ninety-second init path checklist; Lesson 237 wires wwise_dsp_init_receipt_v1 for the Q3 playtest wave (cousin schema, not duplicate of this lesson’s wwise_dsp_packaged_receipt_v1); 20-free Wwise/FMOD alternatives and Wwise learning resources are prep—this lesson is the BUILD_RECEIPT milestone.
Beginner path (DSP copy + boot probe)
| Step | Action | Success check |
|---|---|---|
| 1 | Generate Windows soundbanks | .bnk + .wem in GeneratedSoundBanks/Windows/ |
| 2 | Copy x64 DSP into project Plugins/Wwise/ |
Inventory matches receipt |
| 3 | Package Development or Shipping Windows | Not editor-only test |
| 4 | Install from Steam (or local depot folder) | Clean user profile |
| 5 | Launch; capture SoundEngine.log |
Init success line |
| 6 | Post one event (UI click / logo sting) | Audible within 5 s |
| 7 | File wwise_dsp_packaged_receipt_v1.json |
fest_promotion_allowed: true |
Time: ~30 min first DSP audit + 15 min Steam install smoke—70 minutes with CI wiring.
Developer path (gates D1–D6)
| Gate | Check | Fail when |
|---|---|---|
| D1 | Wwise + integration versions pinned | Hand-copied banks only |
| D2 | DSP plugin inventory on disk | Missing effect DLLs in package |
| D3 | Soundbanks in player payload | Banks stripped by build script |
| D4 | AK::SoundEngine::Init on clean VM |
Init OK in editor only |
| D5 | Posted event audition | Banks load but silent |
| D6 | BUILD_RECEIPT wwise_dsp_packaged |
Column empty while Wwise SKU ships |
D2 — Plugins/Wwise x64 inventory (copy checklist)
After Wwise Generate SoundBanks for Windows:
| Path (Unity example) | Must include |
|---|---|
Assets/Plugins/Wwise/Windows/x64/DSP/ |
All .dll referenced by project effects |
Assets/Plugins/Wwise/Windows/x64/ |
AkSoundEngine.dll (or integration equivalent) |
Packaged GameName/Binaries/Win64/ |
Same DSP set post-build |
Archive release-evidence/audio/wwise_dsp_inventory.txt:
AkCompressor.dll OK
AkConvolutionReverb.dll OK
AkMotion.dll OK
...
Fail closed when any effect used in Wwise authoring is missing from packaged tree.
D4 — Init log probe
Enable Wwise logging in packaged build (AkMonitoringCallback or default log file path per integration). Pass when log contains successful init without AK_Fail.
Common packaged failure strings:
Plugin not found— D2 inventory incompleteBank not found— D3 path wrongUnsupported platform— ARM64 DSP copied instead of x64
wwise_dsp_packaged_receipt_v1.json
{
"schema": "wwise_dsp_packaged_receipt_v1",
"build_label": "steam-win-2027-01-14-rc1",
"wwise_version": "2024.1.x",
"integration": "Wwise Unity Integration 2024.1.y",
"platform": "Windows_x64",
"dsp_inventory_sha256": "sha256:REPLACE",
"soundbank_manifest": "GeneratedSoundBanks/Windows/SoundbanksInfo.json",
"ak_init_pass": true,
"boot_event_posted": "Play_UI_Logo_Sting",
"boot_event_audible": true,
"paired_receipts": {
"localization_matrix": "release-evidence/localization/LOCALIZATION_RECEIPT_MATRIX.json"
},
"gates": {
"D1_version_pin": "pass",
"D2_dsp_inventory": "pass",
"D3_banks_packaged": "pass",
"D4_ak_init": "pass",
"D5_boot_event": "pass",
"D6_build_receipt": "pass"
},
"fest_promotion_allowed": true
}
Pin under release-evidence/audio/WWISE_DSP_PACKAGED_RECEIPT.json.
BUILD_RECEIPT row (D6)
| Column | Pass when |
|---|---|
wwise_dsp_packaged |
Receipt path + fest_promotion_allowed: true |
audio_middleware |
wwise (not fmod on same SKU) |
string_table_receipt |
Independent—Lesson 219 if Unity UI |
ALTER TABLE release_publish_gate ADD COLUMN IF NOT EXISTS
wwise_dsp_packaged_blocked BOOLEAN NOT NULL DEFAULT false;
CI verify_wwise_dsp_packaged_v1 fails when ak_init_pass is false or dsp_inventory_sha256 missing for build_label.
Middleware separation (anti-pattern)
| Stack | Receipt | Do not merge |
|---|---|---|
| Wwise Windows | wwise_dsp_packaged_receipt_v1 |
FMOD WebGL fields |
| FMOD WebGL | fmod_webgl_snapshot_receipt_v1 |
Wwise DSP DLL list |
| Portfolio | localization_receipt_matrix_v1 |
Separate audio columns per SKU |
Key takeaways
- Editor audio ≠ packaged audio—prove Init on installed Steam build.
- DSP DLLs are not optional for effects used in Wwise project.
- x64 Windows depot—not Win32, not ARM, unless SKU explicitly ships ARM.
- One boot event audible proves banks + DSP—not only Init return code.
- Lesson 203 is HTML5 FMOD—different receipt schema.
- Guide #16 preflight mirrors D2 copy checklist when published.
- Q1 capstone 229 wires 226 with 224–225, 227–228.
- Thursday BUILD_RECEIPT review should show
wwise_dsp_packagedfor Wwise SKUs.
Common mistakes
- Copying DSP from SDK Debug profile into Shipping package inconsistently.
.gitignoreexcludingPlugins/Wwise—CI package empty.- Init pass on dev PC with Wwise installed—player VM without SDK fails.
- Shipping Master banks but Init uses wrong
basePath. - Filing receipt from PIE—Steam depot never tested.
Troubleshooting
| Symptom | Lane |
|---|---|
Plugin not found |
D2 — regenerate DSP list from Wwise settings |
| Init OK, no audio | D3 bank path + D5 event name |
| Works in editor only | Repackage; verify Steam depot file list |
| HTML5 SKU | Lesson 203 — not this lesson |
| Help DSP init | Planned Wwise DSP help (pairs guide #16) |
Mini exercise (70 minutes)
- Remove one DSP DLL intentionally; confirm D4 fails on packaged build.
- Restore inventory; regenerate banks; pass Init on clean VM.
- Post boot event; archive log + receipt JSON.
- Add BUILD_RECEIPT row; link from Lesson 209 matrix if multi-SKU portfolio.
- Document
audio_middleware: wwisebeside Ren'Py row in matrix notes.
Continuity — Q1 2027 post-fest recovery (224–229)
| Lesson | Receipt focus |
|---|---|
| 224 | MKV gap reencode |
| 225 | Ren'Py PO-hash |
| 226 (this) | Wwise DSP packaged Windows |
| 227 | Review-key demo scope |
| 228 | FMOD WebGL fest snapshot |
| 229 | Q1 capstone (queued) |
Previous: Lesson 225 — Ren'Py PO-hash language
Next: Lesson 227 — Steam review-key press demo scope.
FAQ
Same as FMOD bank strip?
No—FMOD missing banks is Addressables strip; Wwise failure here is DSP DLL packaging.
Do I need Wwise on the player machine?
No—DSP plugins ship inside the game; Init must succeed without Audiokinetic tools installed.
Unreal vs Unity paths?
Receipt schema is the same; dsp_inventory paths differ—document engine in integration field.
AK::SoundEngine::Init failing on Steam while the editor plays fine is almost always missing DSP in the depot—inventory, Init log, one audible event, then BUILD_RECEIPT.