I have BP classes BaseDefense->BaseTower->(Specific Tower).
If I place AI perception onto BaseDefense and don’t add sight to it the project loads fine, but when I give it sight (even without touching any settings) the project will crash on load with the error:
[2017.01.07-15.24.44:482][ 0]LogWindows:Error: === Critical error: ===
[2017.01.07-15.24.44:482][ 0]LogWindows:Error: Assertion failed: !Obj->HasAnyFlags(RF_NeedLoad|RF_NeedPostLoad|RF_ClassDefaultObject) || bIsOwnedByCDO [File:D:\Build\++UE4+Release-4.14+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 2358]
[2017.01.07-15.24.44:482][ 0]LogWindows:Error: Attempting to replace an object that hasnt been fully loaded: AISenseConfig_Sight /Game/DefenseBP/XXXX/(SpecificTower).(SpecificTower)_C:AIPerception_GEN_VARIABLE.AISenseConfig_Sight_0 (Outer=AIPerceptionComponent /Game/DefenseBP/XXXX/(SpecificTower).(SpecificTower)_C:AIPerception_GEN_VARIABLE, Flags=0x00283029)
I can get around this by placing the AI Perception on BaseTower instead of BaseDefense. Project loads fine then, but I would rather place it on BaseDefense since everything derived from BaseDefense needs perception.
Are you setting this up in blueprints or through code. If you’re able to reproduce the issue, can you provide the setup/reproduction steps that cause the crash? Can you also provide your machine ID from the crash for additional information?
This is through Blueprints. I can’t really say for sure how to reproduce this, but it happened when I added the AI perception component to BaseDefense and could be fixed by either removing that component or adding it to BaseTower.
And as silly as it sounds, since this has been plaguing me for the past two days, it doesn’t seem to crash anymore (even after placing the perception component back on BaseDefense and restarting the engine a few times)
Is there a way to get my machine ID without the editor having to crash?
If you open the command window in any project, you can use the “debug crash” command to force the editor to close and present the crash window which will provide the machine ID. However this will only be helpful if you submitted the crash report related to your original crash. If you are no longer seeing the crash, it may be that a bad reference was cleaned up by the editor. I will be marking this post as resolved for tracking purposes if you’re no longer experiencing issues. However if the crash does occur again, please feel free to comment here to reopen the post for further investigation.