Dear Epic,
I experience the following when I have two projects that both have C++, and I try to migrate BP assets from project B to project A
Often I develop features in test projects for faster C++ compile times, and I end up with both Content and C++ code that I then want to bring from the test project into my main project (Project A)
Project A doesnt have the C++ classes I want to bring in.
I bring in the source code from B into A and compile perfectly. This includes many custom C++ class for actors and various parts of game logic that I want to integrate from Project B to project A.
Now Project A has all of those custom C++ classes and will know what an ASpecialDoohikee is. Yay!
I now bring over BP assets from project B that refer to the C++ classes in project B that I compiled project A
This includes a BP class as an asset that is SpecialDoohikeeBP, and directly relies on the C++ class that was brought over from Project B. Also, many BP’s will have variables that refer to ASpecialDoohikee or the BP version.
When I try to open those assets in project A, they cannot be opened become permanently unusable, because the C++ Class name stored in the BP asset includes the old project name, and that path is now invalid, for example it might be Script/ProjectB/ASpecialDoohikee.
But of course the ProjectB is wrong, but the BP content ported from project B to project A doesnt know to change the paths to Script/ProjectA/ASpecialDoohikee.
I know of no way to tell the BP assets imported into project A from B that they should simply change the projectname part of the C++ path to refer to the ProjectA path so that the newly compiled C++ classes will be found.
Because I dont know how to do this, I end up redoing a ton of work for all BP assets that I wanted to import from project B over to project A.
The worst case is blueprints that extend C++ classes made in B, because they are completely broken.
Under current conditions SpecialDoohikeeBP is gone forever and I have to redo it, in Project A
Is there any way to get around this?
If you can assist me in this matter I will happily make a wiki about the solution you provide