As workaround I found that if I remove setting ChildActorClass from native code, and set it from blueprint of my Character - it will not crash anymore.
Since 4.16 i get a crash in the packaged game with the following error (problem still occuring in 4.16.1):
[2017.06.03-06.43.04:997][ 0]LogWindows:Error: Fatal error: [File:D:\Build\++UE4+Release-4.16+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp] [Line: 3095]
[2017.06.03-06.43.04:997][ 0]LogWindows:Error: YagUIBranchMain /Game/Yag/Game/BP_YagDefaultPawn.Default__BP_YagDefaultPawn_C:TrayComponent.TrayComponent_YagUIBranchMain_CAT was found in memory and is an export but does not have all load flags.
TrayComponent is a child actor component in the default pawn for the player controller (AGameMode::DefaultPawnClass)
Have you attempted moving this ChildComponent to a fresh project to see if it alone is causing the problem? When looking up that message you received in the source code, I found that this message is brand new to 4.16 so it’s possible that there is a new check in place and I’ll need to ask the developer who implemented it about this. I’ll let you know when I have more information.
Edit: Before that however, could you provide the full log for the packaging process itself? There could be some information in a warning or something of the sort that could point to what exactly is causing this.
I’m glad that you found a workaround. I just put in a bug for another issue that seems like it could be related to this. The reproduction is different but since blueprint nativization turns the blueprint logic into code, it’s most likely the same issue. Please take a look at this post for further information. The workaround seems similar as well.
If I do it in Pawn constructor only packaged game crashes, but if I try to move this logic to postinitialization (pre init and init as well), my code triggers break points at data table load. The data table contains refs to my Pawns. I do not use nativization.