Skip to main content

Quick Start

Setup

Install Plugin

Go to FAB in and install the plugin to the engine version you are using.

Note: 5.7 is not available yet as it needs to exit preview first.

Enable plugin

Go to Edit -> Plugins -> Search for ScalableModularBehaviour and enable

Then restart engine

Add Physics System to Level

Go to /All/EngineData/Plugins/ScalableModularBehaviour/Blueprints and put BP_Smb_PhysicsSystem into your level,

Content Folder Name

First Unit

Creating Character BP

Create a new character Blueprint actor and open it up

Make Character

Add two components, BP_Smb_Unit_Bake and Smb_Anim_Comp

Please make sure your characters Skeletal Mesh starts with "SKM_" ex: "SKM_Quinn"

Baking animations

On BP_Smb_Unit_Bake add animations and set them to intended animations for abilities.

Optionally you can input PBR textures as an array BaseColor(RGB), Metalness(Red) Roughness(Green) and AO(Blue) and Normal(RGB), for each material

Select the DA_Demo as the entity to copy

Bake

Put the BP Character in a level and click bake, this might take a minute.

Putting Entity in the world

Spawner Component

Create an actor you want to spawn the entity or add BP_Smb_Spawner_Component to an existing actor

On the component set the entity to spawn to the one you created

On the component call the Spawn in Grid function

Adding NavMesh

Add NavMesh

The plugin uses the native unreal engine NavMesh and as such it's needed in the world for entities to navigate

Ensure the NavMeshBounds is not scaled and only brush settings is changed

On "RecastNavMesh-Default"

Selection and movement commands

In any blueprint add "SmbSubsystem" and from it call "SelectEntitiesInside" and "MoveEntities". When executed it will move entities inside of a square to a desired location.

Add NavMesh

Box Selection Example

Box Selection Example can be seen in the demo controller at /ScalableMassBehaviour/Demo/DemoAssets/Blueprints/BP_SmbDemo_ThirdPersonPlayerController

StateTree

By default ST_Smb_Unit is used, this can be customized to allow custom behaviours, especially with the task "SMB Set Entity State" and "SMB Get Entity State" to check against which behaviour is needed.

Future

More tasks are being made to allow futher customization, if you have any requests please go to discord https://discord.gg/jMuyKj5aYn