Rename a Class and reparent a Blueprint

Hey,

I just did some refactoring and renamed a class which was the base for a blueprint. After that I wanted to open the Blueprint to reparent it. This does not work because the Blueprint Editor cannot be open because the old parent class of the Blueprint is missing.

Is there another way to reparent a Blueprint than open the Blueprint Editor and then select reparent in the Menus? I did not find one yet. If there is no such option it might be a good solution to also add reparent blueprint to the context menu when right clicking on the blueprint asset in the content browser.

I removed my Blueprint and re-added it because the blueprint was not very complex yet but this is no good option for every Blueprint.

Hey there,

UE4 has a way to handle when you rename a class and want to automatically change existing blueprints to that class.

Open your defaultengine.ini

Add to [/Script/Engine.Engine]

+ActiveClassRedirects=(OldClassName="OldClass",NewClassName="NewClass")

I just recently did this myself for a class I had to rename.
Let me know if you run into any issues.

1 Like

Sounds promising I will give it a try this weekend!

Thanks for the answer, it worked for me. However I’d like to add a little complement to it. Not because you said anything wrong, but because a newbie (like I’m) can misunderstand it.

The OldClassName actually refers to the previous name of the class and not the first ever original.
For example if you make a new project from template the [/Script/Engine.Engine] in your DefaultEngine.ini file will probably have some rows like this:

+ActiveClassRedirects=(OldClassName="OriginalClass",NewClassName="MyClass")

After you renamed your class what you want to have in you DefaultEngine.ini file is:

+ActiveClassRedirects=(OldClassName="MyClass",NewClassName="MyNewClass")

and not:

+ActiveClassRedirects=(OldClassName="OriginalClass",NewClassName="MyNewClass")

Just writing out to let everyone know that as for 4.14.3 this method still works.

How would I name it? I don’t understand, to I put in my old class name and i.e. Damageinterface, and change it to my new blueprint name?

Thanks… It helps me