FMOD initializes AFTER some blueprints are serialized in packaged build, unable to find events and banks

I think this is some variant of the problem described in the “Loading blueprints before plugin load” portion of this page: https://www.fmod.com/resources/documentation-api?page=content/generated/engine_ue4/deployment.html#/

However, my game does not work that way, so I’ve tried to include the “IFMODStudioModule::Get();” snippet in the constructor of the relevant classes, but nothing seems to help.

The relevant portion of the log is here:

[2018.08.21-19.28.00:199][ 0]LogInit: Selected Device Profile: [WindowsNoEditor]
[2018.08.21-19.28.00:235][ 0]LogNetVersion: GenesisNoir 1.0.0, NetCL: 0, EngineNetVer: 5, GameNetVer: 0 (Checksum: 3487011213)
[2018.08.21-19.28.00:551][ 0]LogStreaming: Error: Couldn’t find file for package /Game/Audio/FMODBuses/FX requested by async loading code. NameToLoad: /Game/Audio/FMODBuses/FX
[2018.08.21-19.28.00:551][ 0]LogStreaming: Error: Found 1 dependent packages…
[2018.08.21-19.28.00:551][ 0]LogStreaming: Error: /Game/Blueprints/UI/HUD/hud_Master_v01
[2018.08.21-19.28.00:551][ 0]LogStreaming: Error: Couldn’t find file for package /Game/Audio/FMODBuses/Environment requested by async loading code. NameToLoad: /Game/Audio/FMODBuses/Environment
[2018.08.21-19.28.00:551][ 0]LogStreaming: Error: Found 1 dependent packages…
[2018.08.21-19.28.00:551][ 0]LogStreaming: Error: /Game/Blueprints/UI/HUD/hud_Master_v01
[2018.08.21-19.28.00:551][ 0]LogStreaming: Error: Couldn’t find file for package /Game/Audio/FMODBuses/Cosmic_Verb requested by async loading code. NameToLoad: /Game/Audio/FMODBuses/Cosmic_Verb
[2018.08.21-19.28.00:551][ 0]LogStreaming: Error: Found 1 dependent packages…
[2018.08.21-19.28.00:551][ 0]LogStreaming: Error: /Game/Blueprints/UI/HUD/hud_Master_v01
[2018.08.21-19.28.00:551][ 0]LogStreaming: Error: Couldn’t find file for package /Game/Audio/FMODBuses/Character requested by async loading code. NameToLoad: /Game/Audio/FMODBuses/Character
[2018.08.21-19.28.00:551][ 0]LogStreaming: Error: Found 1 dependent packages…
[2018.08.21-19.28.00:551][ 0]LogStreaming: Error: /Game/Blueprints/UI/HUD/hud_Master_v01
[2018.08.21-19.28.00:551][ 0]LogStreaming: Error: Couldn’t find file for package /Game/Audio/FMODBuses/Cave_Verb requested by async loading code. NameToLoad: /Game/Audio/FMODBuses/Cave_Verb
[2018.08.21-19.28.00:551][ 0]LogStreaming: Error: Found 1 dependent packages…
[2018.08.21-19.28.00:551][ 0]LogStreaming: Error: /Game/Blueprints/UI/HUD/hud_Master_v01
[2018.08.21-19.28.00:589][ 0]LogStreaming: Error: Couldn’t find file for package /Game/Audio/FMODEvents/Music/The_Hunt requested by async loading code. NameToLoad: /Game/Audio/FMODEvents/Music/The_Hunt
[2018.08.21-19.28.00:589][ 0]LogStreaming: Error: Found 1 dependent packages…
[2018.08.21-19.28.00:589][ 0]LogStreaming: Error: /Game/Levels/Hunt/hunt_MusicController
[2018.08.21-19.28.00:589][ 0]LogStreaming: Error: Couldn’t find file for package /Game/Audio/FMODBanks/Master_Bank requested by async loading code. NameToLoad: /Game/Audio/FMODBanks/Master_Bank
[2018.08.21-19.28.00:589][ 0]LogStreaming: Error: Found 1 dependent packages…
[2018.08.21-19.28.00:589][ 0]LogStreaming: Error: /Game/Levels/Hunt/hunt_MusicController
[2018.08.21-19.28.01:009][ 0]LogStreaming: Error: Couldn’t find file for package /Game/Audio/FMODEvents/FX/The_Hunt/02_Field/Small_Plant_Grow requested by async loading code. NameToLoad: /Game/Audio/FMODEvents/FX/The_Hunt/02_Field/Small_Plant_Grow
[2018.08.21-19.28.01:009][ 0]LogStreaming: Error: Found 1 dependent packages…
[2018.08.21-19.28.01:009][ 0]LogStreaming: Error: /Game/Blueprints/Levels/seeding/Plant/seeding_plant_2D_Group_BP
[2018.08.21-19.28.03:457][ 0]LogMaterial: Can’t compile seeding_edenTree_loop_v01_MP_Video_Mat with cooked content, will use default material instead
[2018.08.21-19.28.03:457][ 0]LogMaterial: Warning: /Game/Movies/seeding/seeding_edenTree_loop_v01_MP_Video_Mat.seeding_edenTree_loop_v01_MP_Video_Mat: Failed to compile Material for platform PCD3D_SM5, Default Material will be used in game.
[2018.08.21-19.28.03:459][ 0]LogMaterial: Can’t compile seeding_edenTree_in_v01_MP_Video_Mat with cooked content, will use default material instead
[2018.08.21-19.28.03:459][ 0]LogMaterial: Warning: /Game/Movies/seeding/seeding_edenTree_in_v01_MP_Video_Mat.seeding_edenTree_in_v01_MP_Video_Mat: Failed to compile Material for platform PCD3D_SM5, Default Material will be used in game.
[2018.08.21-19.28.03:471][ 0]LogTemp: Warning: Get FMOD
[2018.08.21-19.28.03:471][ 0]LogFMOD: FFMODStudioModule startup
[2018.08.21-19.28.03:471][ 0]LogFMOD: Lib path = ‘…/…/…/GenesisNoir/Plugins/FMODStudio/Binaries’

The “LogTemp: Warning: Get FMOD” message is one line before the Get() function is called. Sadly I have no idea how to fix this loading issue, so any help would be greatly appreciated! Worth mentioning that the loading sequence works correctly if we don’t reference anything that uses FMOD in the HUD blueprint. The HUD blueprint however has references to the busses to pause them when the game is paused, among other things. Also worth mentioning that the Event-Driven Loader is enabled. I’m doing a build right now with it disabled, so we’ll see how that goes.

someone else with the same issue from a few months ago: https://forums.unrealengine.com/development-discussion/audio/1493846-loading-order-issues-with-fmod-integration

Everything works fine if I disable the Event-Driven Loader, fwiw. Also, I’m on version 4.20.1

If you are able to, send the full log to support@fmod.com and I will look into it further.

Thanks for taking a look Cameron, I’ve sent the full log to that email address.

Anything further on this? I am experiencing this also - can’t seem to get FMOD to load before my player character blueprint is loaded.

So I emailed with Cameron a bit about it, and last I heard was that they might need to talk with Epic about getting FMOD to load before the asset manager does. Right now, I’m able to bypass the issue by disabling the Event Driven Loader in the Engine - Streaming section of your Project Settings. It’s the 2nd checkbox down in the “Package Streaming” tab. However, for some reason, this fixed it when I do a build on some of our studio PCs, but not on others.