Skip to content

fix(audio): make runtime module self-contained for packaged targets - #126

Open
kunkunGames wants to merge 1 commit into
tumourlove:masterfrom
kunkunGames:agent/audio-packaged-targets
Open

fix(audio): make runtime module self-contained for packaged targets#126
kunkunGames wants to merge 1 commit into
tumourlove:masterfrom
kunkunGames:agent/audio-packaged-targets

Conversation

@kunkunGames

@kunkunGames kunkunGames commented Aug 4, 2026

Copy link
Copy Markdown

Summary

Make MonolithAudioRuntime self-contained for packaged targets by including the public headers that own every engine symbol used by its implementation files.

Problem

The runtime module compiled in Editor builds because declarations arrived transitively through shared-PCH or unity-build context. Its implementation files directly use GEngine, UEngine::GetWorldFromContextObject, EGetWorldErrorMode, and IMPLEMENT_MODULE, but did not include the headers that declare those symbols.

That implicit dependency is unsafe for monolithic UnrealGame targets and can break packaged Development or Shipping builds even when the Editor target succeeds.

Solution

  • include Engine/Engine.h in the runtime perception implementation
  • include Modules/ModuleManager.h in the runtime module implementation
  • document the include-ownership and packaged-target contract

This is deliberately a translation-unit ownership fix. It adds no module dependency and changes no runtime control flow, asset behavior, action surface, or configuration.

Verification

  • UE 5.7 RunUAT BuildPlugin -TargetPlatforms=Win64 -Rocket passed Editor Development, UnrealGame Development, and UnrealGame Shipping; UAT exit code 0
  • UE 5.8 RunUAT BuildPlugin -TargetPlatforms=Win64 -Rocket passed Editor Development, UnrealGame Development, and UnrealGame Shipping; UAT exit code 0
  • both packaged-target runs compiled MonolithAudioPerceptionStatics.cpp and MonolithAudioRuntimeModule.cpp as individual non-unity actions
  • both engine roots were resolved from validation-host .uproject EngineAssociation values
  • git diff --check passed
  • detailed evidence: Docs/testing/2026-08-04-audio-runtime-packaged-target.md

Compatibility and risk

The change is compile-time only and preserves existing runtime behavior. It removes reliance on incidental Editor include order, so the affected packaged build paths become more deterministic without requiring migration.

Visual evidence

Not applicable: this is a compile dependency correction with no visual or editor-facing UI change.

@kunkunGames
kunkunGames marked this pull request as ready for review August 4, 2026 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant