I want to change “Character.h” parent class of blueprint “MyCharacter”, from ThirdPerson template, to subclass, that i created myself.
When you open the blueprint there is a blueprint properties button at the top. Click that and the parent class drop down for your blueprint will be visible. Choose the new desired parent class from there.
Now, you need to double click a blueprint to open up the editor, and from there you click File >> Reparent Blueprint (3rd from bottom).
Posting because this ranks highly on a google search.
Thank you I was looking for it
Hi, actually I’m trying to open a blueprint who has “lost” his parent class.
But it won’t open since it’s parent class is gone, how to reassign one whithout open the blueprint ?
Hey Teapot Creation-
A feature request has been entered to allow a blueprint to be reparented without having to open the blueprint (UE-25541). Unfortunately if a blueprint becomes unparented it must be recreated.
thanks for your answer.
I’ll keep waiting for this feature…
I voted for UE-25541, because this asset management with hidden path drives me crazy.
We need a system where we can edit and rearrange the relations.
The relations are simple text entries, unfortunately a uasset is binary, which makes it very hard to modify.
As you can see from the problem above, if a parent got lost, because you have for example changed the
sourcecode structure (script), then everything is broken and you cant repair it.
But just with a small edit to redirect the path, we could easily repair the parent location and everything would work again.
I understand, that this might not be an urgent problem for the staff, therefore I’m trying this on my own.
I’m thankful for any little hint, how I could load an asset, list the relations, edit and save to file.
indeed I was looking for this too. Thanks @IphStich
Yeah, I definitely need this since I’m refactoring a project into a module or plugin, and don’t want to lose all of the blueprint implementations I’ve created from my custom base classes.
Do you have the pull request for that feature?
I need to do reparent my bueprint but I am nt able to open the blueprint.
I had changed the parent class from Default to a class created by me.
The engine crahses and there are no crash logs.
My problem is similar. I cannot use File >> Reparent Blueprint (I have renamed the original parent class. But the renamed new class didn’t show up). What helped is to add the following line to DefaultEngine.ini below [/Script/Engine.Engine] in the game project:
Yeah, its impossible, please add this feature on context menu
As was I. Good to see this hasn’t changed after all these years.
Amazing - thank you!
As of 4.21, I can confirm this works.
When you click on Reparent Blueprint a drop down menu appear from which you can assign to the blueprint to.
There is now a new way to do this, in 4.22 (maybe even in some earlier versions). Much simpler than the re-parenting:
Select the actor in the level > details > actor > convert actor (drop-down)
If someone needs to change the Parent of Blueprint without opening the Blueprint in the Editor itself, there is a way to do that.
So I also had a similar issue: I renamed the C++ Classes in my project and that caused a data loss. Then I was unable to open derived Blueprints inside of Editor. I tried to follow the Tiantian_Xie’s solusion but it didn’t really worked for me. Though it helped me with finding an answer (much thanks Tiantian_Xie!)
The Core Redirects is what you need to follow in this case:
- Go to
- If there is no
[CoreRedirects]section, add one at the bottom
- Remember to save
DefaultEngine.inibefore closing it.
- Optionally delete
Intermediatefolders of your project
- If you are using Visual Studio, regenerate VS Solution file
- Recomile / Open Editor
For me it works just fine. Though I still had to fix some stuff inside of blueprints due to heavy refactor.
Config\DefaultEngine.ini for example:
[CoreRedirects] +ClassRedirects=(OldName="PropBase",NewName="PPHPropBase") +ClassRedirects=(OldName="PPH_GameModeBase",NewName="PPHGameModeBase") +ClassRedirects=(OldName="PlayerCharacterBase",NewName="PPHCharacterBase")
Thats something that worked for me if you copied some blueprint assets from another project.
Make a core redirect but use name of your project and a project you copied from, for example in DefaultEngine.ini add something like that: