[UE4.7.2] Crash while loading Blueprint from 4.6.1 project

I am in the process of updating from 4.6.1 to 4.7.2 building the editor and engine from source for Windows, Playstation 4, Xbox One.

When trying to open a certain Blueprint (or when starting the game itself) I end up in an assertion while the Blueprint compiler tries to compile a Blueprint:

void FKismetEditorUtilities::RecompileBlueprintBytecode(UBlueprint* BlueprintObj, TArray<UObject*>* ObjLoaded)
{
	check(BlueprintObj);
	checkf(BlueprintObj->GeneratedClass, TEXT("Invalid generated class for %s"), *BlueprintObj->GetName());

“GeneratedClass” is a nullptr.

These are suspicious messages from the log:

[2015.03.11-12.54.23:677][493]LogBlueprint:Error: [compiler] Error This blueprint (self) is not a Actor, therefore ' Target ' must have a connection.
[2015.03.11-12.54.23:680][493]LogBlueprint:Error: [compiler] Error This blueprint (self) is not a UI_PlayerShip_BP_C, therefore ' Target ' must have a connection.
[2015.03.11-12.54.23:681][493]LogBlueprint:Error: [compiler] Error This blueprint (self) is not a UI_PlayerShip_BP_C, therefore ' Target ' must have a connection.
[2015.03.11-12.54.23:683][493]LogBlueprint:Error: [compiler] Error This blueprint (self) is not a UI_PlayerShip_BP_C, therefore ' Target ' must have a connection.
[2015.03.11-12.54.23:740][493]LogBlueprint:Error: [compiler] Error Variable node  Get SideWeaponAttachPointRight  uses an invalid target.  It may depend on a node that is not connected to the execution chain, and got purged.
[2015.03.11-12.54.23:741][493]LogBlueprint:Error: [compiler] Error Variable node  Get SideWeaponAttachPointLeft  uses an invalid target.  It may depend on a node that is not connected to the execution chain, and got purged.
[2015.03.11-12.54.23:743][493]LogBlueprint:Error: [compiler] Error Variable node  Get FrontWeaponAttachPoint  uses an invalid target.  It may depend on a node that is not connected to the execution chain, and got purged.


[2015.03.11-12.54.28:507][493]LogBlueprint:Warning: RefreshAllNodes called on incompletly loaded blueprint 'WidgetBlueprint /Game/UI/VictoryMenu_BP.VictoryMenu_BP'
UE4Editor-Win64-Debug.exe has triggered a breakpoint.

The first compiler errors are especially strange since for testing/debugging purposes I deleted the nodes that caused the error however the errors still show up!?!

Right now this means we cannot update to 4.7.2 since we cannot start the game anymore and we cannot edit the Blueprints that seem to cause the problems. However we need to update in the near future as we need an engine version that is compatible with a fairly recent PS4 / Xbox One SDK to be able to submit our game.

How can we proceed? Is this likely to be fixed in 4.7.3? Or 4.8.0? We could provide our full project sources if needed.

Marc

Hey mkamradt-

Does the crash occur in a new 4.6.1 created/converted project? Is the node being used a custom C++ created node? Additionally, could you post the log files inside the Saved->Logs folder from the crash as well? If you’ve narrowed the cause of the crash to a single blueprint you can try to move its .uasset from the content folder and then open the project.

Cheers

The project started with UE4.2 I believe and we converted the project with every minor version (4.3, 4.4, etc.). It works fine with 4.6.1 which my colleagues are still using. I can open the project itself but I cannot launch the game due to the assertion mentioned. I then tried to open the offending Blueprint which leads to the same assertion as when starting the game.

Moving the asset does not help as it handles most of the menu of our game and without it the game won’t start anyways.

Marc

To clear up some confusion I’m having, when you say that the game won’t start are you referring to opening the project in the editor or attempting to play the game in the editor or standalone window? Would it be possible to send us the broken asset so we can try to take a look at it?

I tried the following:

  • Start the editor
  • Start a PIE instace of the game
  • Results in an assertion while compiling blueprints

After taking a look into the log I wanted to check the offending Blueprint:

  • Start the editor
  • Open the Blueprint
  • Results in an assertion while compiling the blueprint

I attached the asset but I doubt it will be of much use since it has quite some dependencies it tries to load which seems to be part of the problem.

Marc

link text

Hey mkamradt-

Could you post the logs from the crash to provide additional information, but looking at the asset it seems that the Call OnSwitchTo node in the EventGraph is causing the problem. If you’re unable to open the blueprint in your current project I would try migrating a copy to a new project and open it there to try to remove the node. If you’re able to do so you can then migrate it back into your current project and continue working from there. If you need to add the OnSwitchTo node back in be sure to give the Target input pin a reference to the correct type as well.

Cheers

Hey ,

I removed all “OnSwitchTo” Nodes using UE4.6.1 and copied the modified asset into the UE4.7.2 version. However that does not seem to change anything. I attached the log of trying to start a PIE session.

Marc

Hey mkamradt-

Is it still possible to send the full project for testing? If so you can upload a zipped file to dropbox and then send me a private message on the forums with a link to it. If you can do so, please send the working 4.6 project (that just needs to be updated to 4.7 and breaks, correct?). Also, now that 4.7.3 is available I would also try upgrading the project again to see if you still receive the same error.

Hey ,

I will give 4.7.3 a try tomorrow and if that does not help I will upload our project somewhere and let you know.

Marc

OK, I am getting further with 4.7.3 so I will close this issue and create a new one if I get stuck somewhere else.

Marc