The Unreal Engine will hard-crash if you trigger a multicast call in a level blueprint then use Seamless ServerTravel to leave the map, and then use Seamless ServerTravel to return to the map where you triggered the multicast. The log reports the error as:
Fatal error: [File:D:\Build\++UE4+Release-4.19+Compile\Sync\Engine\Source\Runtime\Engine\Private\BlueprintGeneratedClass.cpp] [Line: 196]
LogWindows: Error: UBlueprintGeneratedClass::GetAuthoritativeClass: ClassGeneratedBy is null. class '/Game/MyMap.MyMap_C'
My guess would be that triggering the Multicast in the level blueprint somehow prevents that level blueprint from successfully unloading during seamless travel, and as a result, when you later use Seamless ServerTravel to return to the map it’s in a broken state. Non-seamless ServerTravel is probably more forceful with unloading assets, and so is not affected.
Notes:
- MUST have Seamless Travel set to True in the Game Mode
- The Multicast in the level blueprint must actually be called at some point (its presence alone is not enough)
- The Multicast must have at least one parameter (but the parameter doesn’t actually have to be used)
- There must be at least one client connected to the server
- After calling the multicast on server, you must use Seamless ServerTravel to go to different map, and then use Seamless ServerTravel to return to the map where your first triggered the Multicast.
- The bug always crashes in Editor, but only sometimes crashes in Packaged Build. Instead, sometimes the packaged build will keep running, but all calls to level Blueprint Multicasts will fail to execute, and the log will be full of Warnings about the level blueprint script “Accessing None”, and “Failing to Bind”. (Again, this may be because the level blueprint was never properly unloaded).
VIDEO SHOWING STEPS TO REPRODUCE FROM BLANK PROJECT (Watch in 1080p):
Note that ‘J’ is pressed at 4:05 to trigger the offending Multicast (displaying “Hello” on server and client). This is the offending blueprint used in the video:
We hope this can be patched soon. All multiplayer games making multicasts in a Level Blueprint are affected (us included).