Game crash on startup during blueprint asset loading process

No additional details.

Steps to Reproduce

After upgrading a project from UE v4.27 to UE v5.5 our game is crashing immediately on startup.

The crash appears to be due to the upgrade of assets (I presume). When attempting to debug this launching this through visual studio I can see a blueprint mentioned “AbiilitiesComponent” though I feel this is only because this is first blueprint attempting to be loaded on game startup and is not an issue specific to this blueprint specifically. Of course I could be incorrect on this.

Additional note that launching into and using the editor is fine. The issue only comes up when trying to launch a packaged game.

I have tried running ResavePackages on the project though the crash still occurs. This is a python script with parameters I am using to call ResavePackages…

`import Unreal

args = [
“-run=ResavePackages”,
“-Replace”, # Save the asset once fixed up

“-NoPause”, # Prevents waiting for key presses
“-NoIntro”, # Skip intro movies (just in-case)
“-NoSplash”, # Don’t show the Splash screen
“-Unattended”, # Remove UI prompts

Ignore unversioned files (this does not mean source control versioning)

“-IgnoreChangelist”,
“-Unversioned”, # Ignore asset version mismatches

Specify which packages we want to consider

“-ProjectOnly”,
“-IgnoreMap”,

“-VERIFY”, # Show which packages aren’t being written because they are read-only
“-SKIPFAILS”,
“-ForceResave”, # ?
“-AllowReadOnly”, # Resave files which are read-only, i.e. P4 will mark files as read-only so we need this
“-IgnoreErrors”, # Don’t early out due to errors being logged (i.e. Wwise)

Performance

“-GCFREQ=100”, # Reduce frequency of GC (how many packages until it cleans up), can speed up the commandlet
“-NoShaderCompile”, # Don’t compile shaders

Perforce settings

“-AutoCheckOut”, # Checkout files in P4 before saving
“-SkipCheckedOutPackages”, # Don’t error out on checked out files

Loading settings - This is slower, but it will prevent some crashes we run into when async loading

“-NoZenLoader”,
“-NoAsyncLoadingThread”,

“-log=ResavePackages.txt”,
]

Unreal.run_unreal(args, verbose=True)`

Hey there.

In order to help you with this issue we would at least need some logs and a callstack of your crash.

A crash dump and report would also be very useful.

Thanks,

Ben

Hey there, thanks for for the logs.

I have filed a bug report with the team, and you can view the progress of it here: https://issues.unrealengine.com/issue/UE-301961

Thank you for the bug report! I will follow up with the team and see if they have any possible workarounds. My only suggestion would be to do a “partial” upgrade to an older UE5 version from 4.27 and see if the issue still occurs. For example, trying to go from 4.27 to 5.1, and then from 5.1 to 5.5. This might provide a more stable path.

Thanks,

Ben

Hi Robert! While looking at the issue that [mention removed]​ opened, I wanted to circle back for additional information on the issue and if you’ve since found workaround. From the look of the shared log and callstack, your game crashes due to too deeply nested dependency chains when using the legacy loader at runtime which ends up busting the stack space. I don’t think this is any upgrading assets issue that happened between 4.27 and 5.5. However, it is true that 5.5 might not support as deeply nested dependency chains as 4.27 due to code changes. This is one type of issue that the zen loader is supposed to fix as it is not recursively resolving dependencies. To solve your problem, I would suggest you look into enabling the iostore at runtime for your game which shouldn’t end up encountering this issue. (this is different than using zen loader in the editor which was just made the default in 5.5, using zen loader with iostore at runtime as been a staple since 5.0). If you don’t want to make the switch or can’t for some reason than you will need to investigate which asset is causing the current recursive load and either edit the dependencies or change the boot sequence so dependencies deeper in the chain are requested and loaded separately instead of implicitly resolved.

As for your use of `-nozenloader` in the editor for the resave commandlet, it would be good that you share those issues with us so we can make sure to fix them if they aren’t already. The resave commandlet had some specific quirks that needed to be adapted for zen loader in editor usage.

Hope that helps! For now, I will close the issue that Ben opened as it is not actionable on its own and follow up again with you here if there is anything else I can help with.

Thank you!

Francis

Hi [mention removed]​ please find attached a log of the startup/crash.

Ok great thank you [mention removed]​ and thank you for filing the bug report.