I am working with both BP and C++. I have someone who made something in C++ and I need to migrate it to a project using BP and read it in BP. How do I do this?
You can make a blueprint that derives from the c++ class. Right click the c++ file in the the content browser and select the “create blueprint that derives…” Can’t remember exact wording. In the c++ class you need the functions you want to call to have the UFUNCTION(BlueprintCallable) specifier and with the variables you can choose many different specifiers like UPROPERTY(BlueprintReadWrite, BlueprintReadOnly) etc.
It might be to late but avoid changing class structure with editor opened (hot reload) specially if you blueprint base of C++ class, it tends to corrupt blueprints.
The message explains it clear as can be. Your blueprint is already deriving from a c++ class but that class is invalid most likely meaning it doesn’t exist. You need to go into what ever project you are taking the blueprint from → Open the blueprint → click on Class Settings at the top of the blueprint editor and check what class it derives from. Then move that c++ class to your new project before moving the blueprint.
I believe I did what you describe here and it is still happening for me. I am migrating to a new project and here is what i’ve done so far.
-
Migrate all C++ classes, changed the namespace from OLDPROJECT_API to NEWPROJECT_API
-
Compile succesfully, open editor.
-
Migrate Blueprints. At this point all non derived BPs work just fine.
-
Get this error message, I am unable to select my derived class from the list!
The odd thing is when i create a fresh BP of the proper type it seems to work.