x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Migrate blueprint with C++ parent class

I'm migrating blueprint with C++ parent class X from Project1 to Project2 wich also has this class X. In Editor in Project2 when I trying to edit blueprint I getting this message:

Blueprint could not be loaded because it derives from an invalid class. Check to make sure the parent class for this blueprint hasn't been removed!

Hint in content manager says its parent class is None.

I exported blueprint from Project1 as T3D file and got the problem:

Blueprint nodes in textual representation referencing Project1 name like:

 PinType=(PinCategory="byte",PinSubCategoryObject=Enum'/Script/Project1.ModuleTypeE')

So I suppose, that migrating process fails at this point.

I can't fix this with find/replace in .uasset, because after doing that and opening Editor my PC hangs totally.

Could be useful to get T3D_to_uasset conversion tool.

Product Version: UE 4.9
Tags:
more ▼

asked Sep 20 '15 at 11:12 AM in Bug Reports

avatar image

MorskoyZmey
377 12 159 44

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

2 answers: sort voted first

Ok, there is workaround

Here is my post (last one). It works!

more ▼

answered Feb 11 '16 at 05:32 PM

avatar image

MorskoyZmey
377 12 159 44

avatar image Aolobo Jul 21 '16 at 05:55 PM

Hi all,

I'm using version 4.12.5 but I cant seem to migrate blueprints with c++ parents. I have already tried +ActiveGameNameRedirects=(OldGameName="Project1",NewGameName="/Script/Project2") +ActiveGameNameRedirects=(OldGameName="/Script/Project1",NewGameName="/Script/Project2")

But it still say's it cant find asset /Script/OLDNAME

avatar image Doug E ♦♦ STAFF Jul 21 '16 at 06:13 PM

Hey Aolobo-

I have not tried MorskoyZmey's workaround, however I did notice that in his post he refers to "Class" where your snippet refer to "Game". If you are using his method, it may be the difference in syntax that is an issue.

avatar image Aolobo Jul 21 '16 at 06:17 PM

+ActiveClassRedirects=(OldClassName="BaseCharacter",NewClassName="/Script/SandBox.BaseCharacter")

oh sorry that was part of it but even when i use class, i still can't open the blueprint =/ when i hover over it still says parent none

Do I have to do this before I import the blueprints, is there an order in which certain steps need to be done.. I've followed multiple answers but I still can't port my blueprints with c++ parents

avatar image Doug E ♦♦ STAFF Jul 21 '16 at 06:51 PM

Judging by the link provided by Pots4, it appears that this needs to go into the DefaultEngine.ini of the target project under the [/Script/Engine.Engine] heading. This would need to be done before attempting to migrate the blueprints over so that the redirects.

Again, this method is just a workaround. The related bug for this issue (UE-28639) is still unresolved and there is not yet a time frame of when a fix for this will be implemented.

avatar image Aolobo Jul 21 '16 at 07:29 PM

Hi Doug thank you very much for responding.. So I created a fresh project and re-did everything. Used only this line to accomplish it. Not sure what happen to the previous project as it really did feel like i followed the exact steps. I'll list down the steps in order so that it may help others in the future. Maybe the only difference was using a blueprint project instead of a C++ one.. But I'm not too sure as I did it multiple times =D

[/Script/Engine.Engine] +ActiveClassRedirects=(OldClassName="BaseCharacter",NewClassName="/Script/NEWPROJECTNAME.BaseCharacter")

1) Create a new project. (I used a new blank blueprint project)

2) Re-create the C++ class with the new project name

3) Edit the defaultengine.ini file accordingly

4) Compile and build and re-open project.

5) There will be some load errors. Just enter those assets with load errors and reload the nodes(if available else just save) and save.

Should be fine then. Thanks again Doug Wilson and Morskoy !!. OMG it's 3AM, time to call it a day.

avatar image lamine250 Oct 27 '18 at 11:05 PM

Hi @aolobo ..... I have the same problem .... I can't migrate my BP class with the parent class, I am getting the same message I tried what you mentioned here, but it didn't work, maybe I missed something, can you explain a bit more please what you did exactly.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Hey MorskoyZmey-

This is an issue we've seen before. The problem is that the blueprint is still seeing the class from Project1 as the parent (even if the class is migrated with the asset). This has been reported as UE-21307 for investigation however I'm not aware of any workaround other than copying the base class and recreating the blueprint.

Cheers

Doug Wilson

more ▼

answered Sep 21 '15 at 08:00 PM

avatar image MorskoyZmey Sep 22 '15 at 10:07 AM

I see. As I said if there is (would be) a tool to convert T3D blueprint into uasset we can manually replace references.

Also I think there is another one workaround - to temporary rename Project2 to Project1, migrate blueprint and then rename back.

avatar image CherryBrad Feb 11 '16 at 03:10 PM

Hey, I've currently run into this problem and don't have the time to go through on of my blueprints and fill in all the information again as it was a whole HUD class.

I was wondering if the fix someone put here would work as I can't seem to get it to, and what method you used to rename your first project to the name of the second one?

Thanks

Edit: May have found the fix. I added

+ActiveGameNameRedirects=(OldGameName="Project1",NewGameName="/Script/Project2") +ActiveGameNameRedirects=(OldGameName="/Script/Project1",NewGameName="/Script/Project2")

to the Default Engine ini and it seems to have sorted out the references.

avatar image MorskoyZmey Feb 11 '16 at 05:38 PM

See my answer

If your method works, then it's sensational! Can't wait to check

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question