After upgrading my project from 4.14 to 4.15 and packaging it (Windows 32-bit configuration, done through the editor), It crashes as soon as my level loads.
I did some debugging on the final build and found the crash occurs when the game tries to load one of my UMG widgets. I have a EventDispatcher in the widget that I bind in my level blueprint and when the engine looks for the UFUNCTION it finds it but it apparently has the wrong class name, so hits an assert at Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp line 1558. It finds everything correctly but the variable NameImportClass is “Function” while NameActualImportClass is “DelegateFunction”.
This error only occurs if I actually bind the dispatcher, I can call it (without binding which does essentially nothing) with no problems. I’ve also tried renaming the event dispatcher but my problem still happens. Creating a new UMG widget with an event dispatcher does not cause this problem to help.
I haven’t been able to find repro steps and even just migrating the widget to a new project causes the crash to stop happening. I’m hoping maybe someone has some idea what might be causing this problem or things I can try to possibly fix it. If there’s any more information I can provide let me know. Thanks.
It does but as I was getting that set up I found that if I exclude the widget from nativization it fixes it. I guess something’s breaking in the nativization process. I wasn’t able to repro it in a new project or by migrating the problematic widget.
I am happy that you were able to find a solution for your issue. Could you provide a zipped down copy of the project that reproduces the issue so that I could take a closer look?
Here’s a stripped down version of my project, I was able to remove all the Blueprints, all my UMG widgets except the one causing the issue and some custom widgets that one uses, and all my code except my custom game instance class. The issue doesn’t happen unless the project’s game instance class is set to the custom one but simply attempting to recreate this in a blank project didn’t cause the issue so there’s something else I’m missing. Thanks for taking a look.
Have been unable to open the project that was provided in your last post. Could you test to make sure that you are able to open the project that is provided above?
It didn’t work when I first tried it but according to this answer Why can i not compile anymore in 4.9.2 - Programming & Scripting - Unreal Engine Forums the problem (for me at least) was that I extracted to a folder that started with a number (since the answer hub appended one to my upload for whatever reason). Once I extracted it to a different folder name it opened fine.
I was able to reproduce this issue with the project provided. I have written up a report and I have submitted to the developers for further consideration. I have provided a link to the public tracker. Please feel free to use the link provided for future updates.
The attached project is crashing for an unrelated reason, the ini file sets the default map to Maps/MetaGame/Map_Metaworld which does not exist. If I move the maps into the MetaGame directory this crash goes away, and it successfully loads into the metaworld. But it doesn’t seem to do much else after that and I just see an empty world
I’m going to get the failure-to-load-map crash fixed, but we unfortunately still do not have a repro for the blueprint nativization crash
I just downloaded the zip file I posted up above and the maps are in the right place, here’s what my content browser looks like when I browse to the Maps/MetaGame folder:
I also double checked and it still stops crashing if I change the GameInstance class from my custom one to the built in GameInstance, I don’t think that would fix a missing map.
I believe I changed the crash when trying to remove some assets to further narrow things down for the report. I have written up another report (UE-44096) without making changes.