4.7 - Incorrect asset loading with circular dependencies

Sample project:

I open BaseTrooper asset and see “false” value in “Class Info” > “Show Overtip” field.

In this case:

  • Editor 4.7: if you enable this checkbox and restart editor - it will be “false”;
  • Editor 4.7: If you physicaly delete a file FirstPersonAnimBlueprint.uasset (break cycle) and open in 4.7 - it will be “true”.
  • Editor 4.8: If you open BaseTrooper and see value of “Class Info” > “Show Overtip” - it is “true”;

This problem affects latest 4.7.3, but master version looks like work correctly.

Hi Bozaro,

This is a known issue in 4.7 that has already been fixed internally (UE-12128). fix should be included in 4.8, and I believe it will be included in 4.7.4 hotfix coming soon. source of problem is that bool comes from a struct, so if you can work around using a struct for that bool value until then, that should solve problem for you.

Thanks for report! Let us know if you still see this problem after 4.7.4 and we’ll look into it further.

No. I known about https://github.com/EpicGames/UnrealEngine/pull/944 fix (I am co-author of this change).
This fix from another problem and it’s not affected this problem.

As an author of UE-12128 fix, I do not agree that my change fixes Bozaro problem, it is a different one caused by malfunctioning cycle-handling machinery.

Can you reproduce this without using a bool from a struct?

To reduce problematic project took two days. And I can not easily reproduce problem.

Also, I would argue that:

  • problem is reproduced with UE-12128 fix (from PR #944);
  • problem is not reproduced with bDeferDependencyLoads=false flag in Kismet section of BaseEngine.ini file.

problem is caused by cyclic dependencies, and most likely will need address it to Mike.Beach.

Okay, that’s fine. I can verify that this occurs in 4.7.3, but as you mentioned in your original post, it’s fixed in Master, which means it should be fixed in 4.8 as well. I can verify that it works in our internal build. I know a number of circular dependency issues were resolved for 4.8, so that may have been what resolved issue. It’s possible this will work with 4.7.4 hotfix as well, but I don’t know for certain yet.

As expected, this bug present in 4.7.4.

Fix: https://github.com/EpicGames/UnrealEngine/pull/1040