Download

Blueprint sematic node relinking

After moving a property or a function from one object to another old blueprint branches of code became marked as Errors,

6f47418223ee3a636e175e9bf07f6da6f8f8f1c1.png

So in my case I moved a propery from a GameMode object to GameInstance object, that property have the same name and the same type, but I cannot just directly link GameInstance to old property getter node (like I would usually do in c++ code, by just changing the variable name). What I need is to recreate the whole code path by hand.

Untitled.png

That is a simple case, but in same scenarios of refactoring - (ex moving class from main code to a plugin) big chunks of code became invalidated (types are reset to object references and other safe things happen)

844562a995eaae887a7438969747af01.png

Rebuilding all that code can by quite tedious and takes some time, and I believe Unreal Engine can add some assistance here by allowing automatic node recreatinon if linked type conform some requirements - like linked object have the same named property with the same type, or the linked object have the same named function with the same interface.

I agree this can be a pain, it would be nice if BP was a bit more forgiving and would automatically update the internal node configuration if you attempt to plug in something where name matches, but the node’s idea of the expected type does not.

As for moving classes between modules and renaming classes though, you can avoid these issues by adding an ActiveClassRedirect to DefaultEngine.ini. If you do a search for that in any existing project, you should see examples of how to use it.