20/5/15 Master release (Github) has broken my Blueprints

Hello everyone,
I would like to report that since the 16/5 all master branch releases cause these errors.

Up until the 15/5 i had no such issues.

Thank you.

If you were working off of main branch/github (and not the 4.7 release), there were a few weeks where component bound blueprint events were getting corrupted. I fixed this bug in change #2519532 (https://github.com/EpicGames/UnrealEngine/commit/210f5edba9590a79c2c3bba6ec9985efb85c99c9), and that change includes some hacky code to try and fix up the broken events. I reverted the hacky fixup code in change #2519536 (https://github.com/EpicGames/UnrealEngine/commit/5f90c74af8ccc9dd25c96989624844429c8be1f2) because it’s not 100% safe in the general case, and this issue only affected people on the main branch.

So, can you try re-adding the code I deleted in #2519536? That may fix up your broken nodes for you.

Hey Ben,
Thank you for your answer but i am a bit confused.If you dont mind could you please clarify a few things for me?

I have never ever used the main branch.Only Master (i like to live dangerously! ) for me. The thing is that i update once a week or once every two weeks and up until 15/5/15 (the one i currently use) everything was fine. From there on all of the newest ones break the exact same events. Why everything is fine with all versions up until 15/5 ? Based on what you said i should have seen the corruption months ago, correct?

The first link you posted does not work and to be honest i do not know how to cherry pick commits. But if you insist that this is the solution to problem i will research it and hopefully figure it out eventually.

Master is the main branch, they’re the same thing.

If you don’t want to mess with github, you can try adding the following code to UK2Node_ComponentBoundEvent::Serialize. Insert the code starting on line 148, the last line of this code block should replace “if (bNeedsFixup || !DelegateOwnerClass)” on line 148

// Recover from the period where DelegateOwnerClass was transient
-		if (!DelegateOwnerClass && HasValidBlueprint())
-		{
-			bNeedsFixup = true;
-			// Search for a component property on the owning class, this should work in most cases
-			UBlueprint* ParentBlueprint = GetBlueprint();
-			UClass* ParentClass = ParentBlueprint ? ParentBlueprint->GeneratedClass : NULL;
-			if (!ParentClass && ParentBlueprint)
-			{
-				// Try the skeleton class
-				ParentClass = ParentBlueprint->SkeletonGeneratedClass;
-			}
-
-			UObjectProperty* ComponentProperty = ParentClass ? Cast<UObjectProperty>(ParentClass->FindPropertyByName(ComponentPropertyName)) : NULL;
-
-			if (ParentClass && ComponentProperty)
-			{
-				UE_LOG(LogBlueprint, Warning, TEXT("Repaired invalid component bound event in node %s."), *GetPathName());
-				DelegateOwnerClass = ComponentProperty->PropertyClass;
-			}
-		}
-
-		if (bNeedsFixup)

Will try tomorrow morning. Is this the same issue i am facing here?

Thanks a bunch! If i blow anything up i will let you know. By adding this hacky solution is there a possibility that it will break something else down the line? do i have to add the above code every time i update the engine or once they are cured i wont have to do anything again regarding the new engine installation?

No, that looks like an unrelated issue, someone else will have to look at that.

If that code fixes it, just resave all the blueprints that were previously broken. Once resaved once they’ll be good forever and you can remove the hack. If the hack doesn’t work, you’ll have to reconnect the blueprints manually