Current Version 1.11 (31st July 2023)

rdBPtools is a C++ (editor only) plugin that focuses on creating highly optimized groups of Instanced StaticMeshes in prefab like Blueprints – you can harvest actors of any type (non static meshes are stored as ChildActorComponents) – even harvesting mesh instances from other volumes such as Foliage Actors or PCG volumes.

rdBPtools harvesting isn’t skin-deep either – it optionally goes through the hierarchy of actors and components and converts them to instances in the main blueprint too – significantly reducing the number of actors/components.

These types of Prefabs are vastly more optimized than traditional ones. Large amounts of actors and/or components like in traditional prefabs slow down both the editor and the runtime – often to a halt, making them unusable – Blueprint Prefabs created with rdBPtools are fast both at runtime and in the editor.

Check out these benchmarks

In a nutshell, rdBPtools gives you the ability to very easily and quickly create optimized prefabs which can be efficiently used throughout your levels – either as-is or with a powerful randomization system applied to those assets.

You are able to get your levels to the point that they are almost all just StaticMesh Instances, making them extremely efficient to the Unreal Engine.

Each of you prefabs stores deep hierarchies of the folders found when creating – these can be hidden or shown at run-time, giving you the ability to dynamically change the appearance very easily.

There are tools to easily convert actors, Instanced Static Meshes and Blueprints into other Blueprints, LevelInstances, PackedLevelActors and Foliage. There is also a tool to harvest any InstancedStaticMeshes from any actor or volume – including FoliageActors and PCG Volumes.

rdBPtools is completely compatible with rdInst, a fast C++ Instanced Static Mesh Manager that speeds up editing large amounts of meshes and can optionally be included with your project to give high speed instanced meshes there too, or convert to your system of choice. There are Blueprint-only Actors included that do the same thing, so all bases are covered and you have access to all data that rdBPtools sets up.

Moving actors into BP’s in your levels can have the following advantages:

  • Easy to migrate to other projects (retaining any settings you have made).
  • Easy to move around in your level.
  • Easy to duplicate as many times as you wish.
  • Easy to change – change in one place, gets updated everywhere.
  • Dynamically move Blueprint at runtime. e.g. have just one room in the level and move it to where it’s wanted.
  • Easy to move actors/ISMs to and from the level, from blueprints, Foliage and even PCG.
  • Easy to optimize.
  • Easy to control via Blueprint or C++ (e.g. show/hide sections).
  • Easy to Randomize. (including per-instance random material data)
  • Easy to convert to a StaticMesh.
  • Easy to convert to LevelInstances or PackedLevelActors.

The tools provided have been designed to make it as quick and easy to do your work as possible, and with the least amount of mouse movement, mouse clicks and key presses.

There are usually menus not far from where you are working – and the tools can be assigned hotkeys, if you’re working in the Blueprint Editor or have run a tool from the Content Browser, then settings are made as the objects default settings – using those tools on actors in your level, or from the Details Panel outliner – those settings are saved in the instances of those actors.

Settings Windows have custom defaults that you can set, and thoughtful defaults.

With the Hierarchical system built into rdBPtools, you can easily Show and Hide folders of actors in your Blueprints – including Instanced Static Meshes. It’s simple to start your BP hidden (or it’s inside actors hidden), and trigger the showing of the actors from some event such as a door opening. Note these are not soft references, they will have been loaded at startup, but when hidden, their meshes, physics and textures are not resident in VRAM – this can be a great way to pseudo-stream – slightly more overhead but less “Streaming Glitches”.

Take your optimization to the next level – if you’re wanting to have millions of rooms (for example) – just create the inside of your room in the blueprint and have just one in the level – opening doors or triggering boxes can dynamically move that blueprint to the correct place and randomize – Populate whole cities worth of rooms in your levels!

Combination of rdInst, rdBPtools and rdBuildBuddy can give you high-speed, fully functional, populated buildings

At any stage you can convert your Blueprints back to Actors in the Level – if you have randomization settings, the Actors store them as tags, so you won’t loose them if you convert back to a Blueprint later.

At any stage you can also convert your complete Blueprints to Static Meshes – This allows you to use our powerful Randomization system to create randomly placed assets from within the editor, then convert them to Meshes for Nanite.

You can also convert your Blueprints to LevelInstances or PackedLevelActors – and even convert to Foliage meshes.

Of course, the tools provided by rdBPtools are just the beginning – they give You an excellent Blueprint system which you can derive from and create your own features on top.

The Blueprints can be nested into other Blueprints in pretty much any way, this gives an incredibly powerful procedural system. Check out rdBuildBuddy and rdBeacons.