My project is a blueprints only project running on UE 4.5.1. When running the game in editor viewport or using simulate, it runs fine. However, when I use mobile preview, standalone or deploying to mobile, it crashes soon after startup, before anything is rendered on screen.
Using VS debugger, I was able to find out that an assertion was hit in K2Node_AddComponent.cpp, UK2Node_AddComponent::ValidateNodeDuringCompilation(), at the lines
AActor const* ChildActor = Cast<AActor>(ChildActorClass->ClassDefaultObject); check(ChildActor != nullptr);
I have a blueprint classes A and B. In class A’s blueprint’s event Begin Play, there is a call to add ChildActorComponent, where the child class is class B. From the debugger, the ChildActorClass is class B, but it’s ClassDefaultObject is null, causing the assertion to fail.
I’m not sure why:
- The ClassDefaultObject is null, and
- the assertion only fails when running in mobile preview, standalone and mobile, but not when running in selected viewport/standalone editor/simulate.
Any hints will be greatly appreciated. And please let me know what other information I should furnish. Thank you!