Error opening asset on 5.6 - bCustomPropertyListForPostConstructionInitialized - Custom Property List Not Initialized

Yep, I’ve ran into this as well after migrating from 5.5 to 5.7 and it effectively bricked my game.

Refactoring is really not an option here because it’s just a ticking timebomb that will make it blow up somewhere else down the road. Some random refactors fix it but clearly don’t solve the underlying issue so it’s only a matter of time whether it appears again.

I narrowed it down to what causes it in one of my blueprints:

Using the casted game mode….

The problem is that I use this pattern on hundred of places in my game, yet the ensure only fires on a single blueprint. If this was truly a cyclic reference pattern issue, then half of my 100+ blueprints would blow up :smiling_face_with_tear:

The funny thing here is that what actually causes this problem is a BlueprintFunctionLibrary this GetRTSGameMode function is in. Since the Function Library contains other functions and some of those reference the component I call the GetRTSGameMode from, this is what causes the cycle. But this should not be illegal in any way.

So I agree this is an engine bug most likely.

EDIT:
At this point I am 90%+ sure this is a bug. I’ve removed all cyclic references from the problematic class, and the ensure still fails when packaging the project, BUT when I downloaded the symbols and tried to catch the ensure with debugger attached, the packaging completes absolutely fine. So whether that ensure condition triggers is dependent on such non deterministic factors like if the debugger is attached to the engine or not.

After crashing while compiling blueprints in UE5.7, I encountered this issue and had no way to fix it, even though I had already deleted intermediate files and used a backup of the blueprints.

I successfully managed to get rid of any circular BP references, and the problem still did not go away. The BP just seemed corrupted. Eventually I bit the bullet and simply remade the very same blueprint from scratch - it took over half day.

I made extra sure that I copied nothing from the old one which could carry the corruption. Even though the new BP was literally identical to the old one, the issue disappeared.

Then, 4 days later, the issue came back on the very same BP I’ve recreated from scratch, randomly, without the BP ever being touched.

At this point I really don’t believe there’s anything we can do from our side as users (other than building engine from source and patching it).

I’ve created a PR with a reasonable fix:

https://github.com/EpicGames/UnrealEngine/pull/14206

Hopefully either Epic people find a better way to do it or the PR gets accepted :slight_smile: