Section 3. Creating Blueprints from your level actors

The first tool we will describe is the “Create From Selection” and “Create From Folder” tool.

It works in a similar way to the Epic “Convert Selection to Blueprint Class” – in fact it calls the same routines that tool does to create the initial Blueprint.

It takes all your selected actors (or all descendants of the folder right-clicked on in the world outliner) and builds a Blueprint containing ChildActorComponents for each item.

If you have “Create ISMs” ticked, the StaticMeshActors will be converted to Instances of the mesh rather than components – this is a great optimization.

This Blueprint can then be placed any amount of times into the level – it can be migrated to other projects, it can be converted to one complete StaticMesh (useful for Nanite), converted to use Epics InstancedStaticMeshes, converted to LevelInstances or PackedLevelActors, have their ISMs moved to the Foliage system, or can be copied back to the level as independent actors.

To top that off, it also has a powerful randomization system built in – but that will be discussed in Section 4.


The Top section of this tools window is just for entering the name of the new Blueprint, and the folder you wish it to be created it. If the file already exists, the Name will be displayed in Red and the Create button will be disabled. Tick the “overwrite” box to go ahead and replace the file (text will go green).


The next section is where you choose the Class that the Blueprint will be based on.

Note: The main Randomization system used is Variance-based (BP_ContainerBase); objects will move/rotate/scale a random amount from their origin, set by you. There is also “Only One” Randomization (BP_RandomAssetBase); only one of the “folders” worth of assets you’ve built are shown, being chosen randomly with parameters set by you.

By default, the “Show Only RD classes” will be ticked, and the main class you will see is the “BP_ContainerBase” – use this class for all your variance-based randomization (or for no randomization too).

Tick the “Only One Random Classes” box to list the “OnlyOne” class – the main one you’ll want to use for your “OnlyOne” randomizations is the “BP_RandomAssetBase” class.

Those two options will also list any classes you’ve created yourself, subclassed from one of those two classes.

If you want to base your Prefab Blueprint on another class, just untick both those boxes.

When rdInst is installed, you can use the Fast C++ instances by selecting either BP_ContainerBase_rdInst or BP_RansomAssetBase_rdInst.

If you’re wanting a Blueprint that only displays one of the actor folders you’re adding, choose the “BP_RandomAssetBase” (or your own SubClass).

When “Create ISMs” is ticked, any StaticMeshes in your selection are passed in via the “rdAddInstanceLong” function – that’s handled in the rdInst classes, or you can SubClass BP_ContainerBase or BP_RandomAssetBase and take control of that function yourself.


The next section is the Pivot type, you can select where the center of the Blueprint will be.

You can also set a specific offset from there with the Offset values.

If you select an actor from the “Pivot Actor” – it uses the pivot point of that actor as the prefabs pivot.

You can also add a tag “rdPivotActor” to any actor – if rdBPtools finds one while collating the actors ready to option the Settings window, it sets the PivotActor to that.

Note that the Offset value is also added to the PivotActors location.


The section is a list of Options.

The Include flags allow you to filter the types of actors you will add – it’s most useful when running the tool over a folder rather than specifically selected actors.

Create ISMs when ticked will convert all StaticMesh Actors in your selection to Instanced StaticMeshes. You can use the default, built-in instancing, use your own custom ISM manager, or use rdInst – a C++ run-time plugin to manage them. This plugin also optimizes editing of them, making it possible to have large amounts of objects being edited without slowing the Editor down to a crawl.

Harvest When ticked, rdBPtools will go through and find all staticmeshes in blueprints from the selected actors, and add them to your blueprint as staticmeshes or instances rather than ChildActorComponents.

Use Static Meshes when ticked, creates StaticMesh Components rather than ChildActorComponents.

Harvest rdActors takes the instances from rdActor prefabs rather than embedding them as a ChildActorComponent.

Collate sorts your objects in to folders with the same hierachy as in the level – this allows you to control the state of groups of objects within your Blueprint at any time easily and efficiently.

Harvest Randomization embeds all randomization settings into the new prefab.

Replace Selected Actors, when ticked removes the selected actors from the level and adds one of the newly created Blueprints.

Zero Transform is for RandomAssets mostly, it zeroes the Transform of every actor when created in the Blueprint so they all appear in the same location.

Retain Z is used in conjunction with Zero Transform, it retains the Z position of the actors so you can specify independent height offsets for each actor.


The final section is just a tickbox to indicate whether the prefab should be saved to disk after creation or not.