What would be the best way to go about getting all the child blueprints of an actor. I have a base actor will over 100 varients and am trying to get all of its child blueprints. I have seen ways to do this in C++ but not in blueprints.
It is not possible in blueprints without manually recording every new class. Of course, that’s rarely practical.
If you don’t want to learn C++, that’s fine. Just copy paste the code into a c++ class.
I can detail those steps if you’d like.
If you could that would be very much appreciated.
Try this trick:
Although Supremative has done something I didn’t know was possible, it has a ton of restrictions, so I’ll still say you should probably do this.
Alright: here’s a step by step. If you don’t have visual studios installed, you should download it here (make sure to add anything related to c++ when on the selection screen):
https://c2rsetup.officeapps.live.com/c2r/downloadVS.aspx?sku=community&channel=Release&version=VS2022&source=VSLandingPage&add=Microsoft.VisualStudio.Workload.ManagedDesktop&add=Microsoft.VisualStudio.Workload.Azure&add=Microsoft.VisualStudio.Workload.NetWeb&includeRecommended=true&cid=2030:a486b8d9-27da-4ba4-9692-8338825f4d06
Go to tools → new c++ class
Go to All Classes → search blueprint function library → click it → click next
Name it FLib_Utilities → press create class
While it’s generating, you may get a ton of errors. This is common for first time compiles. If you do, close Unreal engine, and delete these files in your project folder
Then, right click on the .uproject and click generate visual studio project files.
Once that has finished, double click the .sln file to open it.
There should be a sort of small hammer icon when it opens. I’m using Rider, so it’ll be a bit different, but it should look something like this. This is the button to build, so click it.
Open back up the editor, navigate to your new class, and double click to open it.
It should open up these two files, click on the .h file
Paste this in under generated body:
It should look something like this, but TESTINGPROJECT_API will be YOURPROJECTNAME_API:
Also, replace the lines as directed in the comment below:
Make sure to add #include "Kismet2/KismetEditorUtilities.h"
at the top, like so:
Close unreal again, and press the build button again.
With this, you can now just search for this node anywhere:
Tell me if anything went wrong, and I’ll be happy to help.
when im trying to use it i need the actor class reference instead of the object class reference. How would i go about getting the actor class reference.
My bad- I typed this all out before my IDE had fully loaded the project.
You’ll want to replace
UFUNCTION(BlueprintCallable, meta=(DecidesOutputType="Class"))
with
UFUNCTION(BlueprintCallable, meta=(DeterminesOutputType="parentClass"))