[Bug][Crash][Steps+Video] Level Blueprint Multicasts Crash Engine on Seamless ServerTravel

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).

Hello,

We’ve recently made a switch to a new bug reporting method using a more structured form. Please visit the link below for more details and report the issue using the new Bug Submission Form. Feel free to continue to use this thread for community discussion around the issue.

https://forums.unrealengine.com/unreal-engine/announcements-and-releases/1410408-unreal-engine-bug-submission-form

Thanks

Thanks, I see the issue has been added to the new tracker here:

Though, I do notice that it doesn’t mention that the problem seems to be specific to Level Blueprints only. As the (only) work-around I’ve seen so far, developers will need to add some dummy actor to replace the Level blueprint (and put all their code in there), and then Multicast calls will work again.

These symptoms match an issue we’re currently having in one map, except that our level BP has no multicast functions. We haven’t found a minimal repro yet, but: we can stop the crash by removing the Begin Play event. Removing it; just disconnecting the exec pin doesn’t work.