Fighting Game · Guides & deep dives

V2 Music Memory Management

MusicMemoryManagement_V2_Contract.json

4sections1 minread

On this page

Source Of Truth#

  • Task: TODOS.phase-72.72.22.1.9
  • Contract: MusicMemoryManagement_V2_Contract.json
  • Core types: FV2MusicStreamingSectionSpec, FV2MusicMemoryManagementRequest, FV2ResolvedMusicMemoryManagementPlan, and FV2MusicMemoryManagementCatalog
  • Builder: UV2AudioBlueprintLibrary::BuildDefaultMusicMemoryManagementCatalog
  • Validator: UV2AudioBlueprintLibrary::ValidateMusicMemoryManagementCatalog
  • Resolver: UV2AudioBlueprintLibrary::ResolveMusicMemoryManagementPlan
  • Registrar: UV2AudioSubsystem::RegisterMusicMemoryManagementCatalog
  • Scheduler: UV2AudioSubsystem::ScheduleMusicMemoryManagement

Streaming And Preload Coverage#

The default MusicMemoryManagement.V2 catalog declares large music sections for the launch adaptive-music states and keeps only the first streaming chunk resident while the full file streams from disk:

  • Exploration
  • Tension
  • Combat
  • Defeat
  • Music.Section.Exploration.Verse
  • Music.Section.Tension.Chorus
  • Music.Section.Combat.Chorus
  • Music.State.Defeat.KO

Every FV2MusicStreamingSectionSpec must point at an authored /Audio/Music/ asset, exceed the large-file threshold, define multiple streaming chunks, publish a preload lead time and priority, stream from disk, and mark the first chunk resident. The launch catalog requires predicted preload coverage for tension, combat, and defeat transitions.

Runtime Behavior#

FV2MusicMemoryManagementCatalog::ResolveMemoryPlan resolves the current section, selects upcoming sections whose EV2AdaptiveMusicState matches the prediction window, accounts for first-chunk resident memory, and rejects plans that would exceed the configured music memory budget. Accepted plans report Audio.MusicMemory.Accepted.PredictedPreload, include the current streaming section, and list predicted preload sections separately.

UV2AudioConfigAsset owns the default catalog. UV2AudioSubsystem registers it, schedules music-memory plans through ScheduleMusicMemoryManagement, and exposes runtime snapshot evidence for section count, large-file streaming coverage, predicted-preload coverage, last streaming/preload counts, and resident MB.

Validation Commands#

bash
python3 V2/ue/Tools/check-v2-music-memory-management.py
python3 V2/ue/Tools/check-v2-cross-fade-transition-effects.py
python3 V2/ue/Tools/check-v2-audio-module.py
python3 V2/tools/validate-v2-docs.py
python3 -m json.tool V2/ue/Content/V2/Audio/MusicMemoryManagement_V2_Contract.json