Documentation

Blockout Tools Plugin for Unreal Engine 4
Current version: 1.51

Installing the Plugin (UE4)

Open Epic Games Launcher, head to Unreal Engine > Marketplace or Library tab and find Blockout Tools Plugin. Press “Install to Engine” button and choose the appropriate engine version for you.

Open your project the engine version of which have the plugin already installed and head to Plugins tab. Find the Blockout Tools Plugin and set it enabled by checkbox. The engine will prompt to restart itself. Restart the editor and you will have plugin enabled and ready to work.

Installing the Plugin (UE5 EA)

Because of UE5’s Early Access state, you can’t install plugins from Epic Launcher yet, so you’ll need to copy plugin folder to your project’s folder by hand unofficially. But make sure that you’re having latest version of the plugin installed on your version of UE4.
Copy from:
C:/Program Files/Epic Games/UE_4.27/Engine/Plugins/Marketplace/BlockoutToolsPlugin” (or another directory where you have Unreal Engine installed)
And paste to:
YourProject/Plugins/BlockoutToolsPlugin”.

Next time you launch your UE5 project, the engine will prompt “The BlockoutToolsPlugin was designed for build 4.2X.0 Attempt to load it anyway?”, just click yes and then it will recompile plugin’s binaries from source. Also be sure to have Visual Studio and Windows 10 SDK installed on your machine to be able to compile source code.

How to use the Plugin

After enabling the plugin you will notice a new category inside a Place Mode tab named Blockout Tools. Inside it there will be all available blockout elements ready to be drag’n’dropped to your scene.

The blockout elements are pretty straightforward and they represent shapes by which they are named. Blockout_Box is a a box/cube, Blockout_Ramp is a ramp/slope etc.

Important part of blockout elements is their settings in the Details tab. There is a whole category of settings named Blockout Tools and it’s divided by a few sections.

The first section of settings (Blockout Box on the image) is always refers to a type of blockout selected. So there could be different settings depending on a type. Also in a most cases the size of blockout can be easily manipulated by a blue anchor widget which you can select and drag around (Box Size on the image).

The second section named Blockout Material represents a material settings where you can change Color, Top Color, change the grid settings or disable it at all. Also there’s a slot for a user’s custom material.

Rest of settings like Enable Collision or Cast Shadows are quite self-explanatory.

How to use Custom Materials

By default the plugin comes with an one example of a custom material named M_BlockoutTools_Custom. The material instance of it named MI_BlockoutTools_Custom is placed by default on a Custom Material slot of all blockout elements.

To enable the use of custom materials instead of blockout grid you should head to Details tab and change the Material Type setting from Blockout Grid to Custom Material. Then the Custom Material slot becomes available to editing.

If you do care about using textures on blockouts, you should be aware that blockouts are not modifying UVs of meshes at runtime, so special material function must be used to prevent texture stretching. The plugin has built-in functions named MF_Blockout_Triplanar and MF_Blockout_Triplanar_Normal which are essentially use triplanar mapping.

Now you have two ways to go – you can either create material instances of a standard M_BlockoutTools_Custom with your own textures (if it’s good enough for your needs) or you can create your own materials using built-in triplanar functions.

Usage example of custom materials demonstrated in the image below.

How to convert Blockout to Static Mesh

It’s very easy, you have to click RMB to selected Blockout or group of selected Blockouts and find “Merge Actors” and then just follow to an opened window, check some settings and select the destination folder to your new Static Mesh.

A new Static Mesh is now also can be exported to FBX – click on your asset in Content Browser with RMB and find “Asset Actions > Export”.

Supported Plugin Versions

Here’s a table of latest supported Plugin version for each Engine Version.

Engine Version4.224.234.244.254.264.275.00 EA
Latest supported Plugin version1.221.401.441.501.501.50Manually

Technical Details

Blockout elements are parented to a single C++ actor named BlockoutToolsParent which defines all shared parameters and contains some specific functions such as creating and assigning Material Instance Dynamic, setting up collisions etc. Stuff that can be heavy if written only in blueprints.

Blockout elements are using predefined set of static meshes. That means that they should be as cheap as just having static meshes on the scene and that they support baking static lighting. Though because of extensive blockouts scaling, UVs for static lighting can be streched, but overall it’s ok for blockout phase of level design.

For a number of reasons Booleans or Subtractive Mode is not supported yet. For one it can damage built-in static meshes or it can ruin the simplicity of how the plugin works. It requires lots of investigations.

Changelog

V1.0

  • Initial release

V1.1

  • Blockout_Doorway
  • Blockout_Railing
  • Added Hemisphere mode to Blockout_Sphere
  • Support for Mac, Linux, Win32

V1.2

  • Blockout_Window
  • Implemented Custom Category in Place Mode
  • Custom actor icon
  • Renamed “Functions” folder to “Utility”
  • Increased lightmap resolution on meshes

V1.21

  • Fixed custom actor icon path
  • Set up different meshes on steps

V1.22

  • Optimized MID (Material Instance Dynamic) creation & moved some parts of code to C++
  • Added option to individually turn off shadows (requested)

V1.3

  • Added Blockout_Tube
  • Updated Blockout_Railing
  • Major blockout grid material optimization

V1.31

  • Code optimizations
  • Custom actor icon
  • Support for Android (requested)
  • Support for Custom Materials (requested)

V1.40

  • Unified blockout material parameters
  • Blockout material section UI redesigned
  • Added “Grid Size” and “Checker Luminance” variables to blockout material parameters
  • Collision can be toggled on/off
  • Added Editor Widget Utility Tool to convert old material parameters to new (otherwise all settings will be resetted to default)

V1.41

  • New Blockout_Corner_Ramp
  • Updated Blockout_Tube (you can set custom angle now)
  • Improved blockout updating speed (faster MID creation & assigning)

V1.42

  • Added ability to add custom Collision Profile
  • Changed MIDs creation pipeline to Custom Primitive Data

V1.43

  • Reverted back MIDs instead of Custom Primitive Data (because of unexpected behaviour)

V1.44

  • Added new option “World Aligned” to Blockout Material category (enables world-aligned triplanar material instead of local-aligned)
  • Added new option “Counter Clockwise” to Blockout_Stairs_Curved (negative Angle still will work)
  • Added new options to Blockout_Doorway & Blockout_Window (bottom, side and top parts can be edited separately now; “Casing Thickness” was renamed to “Side Thickness”)
  • Updated Overview map

V1.50

  • Added default “Blockout Material” settings to “Project Settings”, so you can change default material properties now (Project Settings > Plugins > Blockout Tools Plugin)
  • Added custom editor icons to each Blockout, but removed class icon to keep consistent look to editor
  • Added new “Roughness” material parameter
  • Added more platforms to Whitelist (IOS, Switch, Xbox One, PS4)
  • Returned “Distance Field Resolution Scale” to 1 to all Blockouts
  • Fixed warning “PNG Warning: iCCP: CRC error”

V1.51

  • Fixed component replication bug in multiplayer
  • Fixed wrong actor link in “Blockout_Stairs_Linear_Manual”