Advanced Settings
Example level
You can see all Selection Manager features and usage examples in the example level,
located in the plugin's Content folder.
Marquee Collision
If you do not provide custom settings when registering an object, Simple Collision will be used for selection box detection by default.
Simple Collision uses a single point at the center of the object. If this point is inside the selection box, the object will be selected. This is the most performant option, especially when you have many units.
You can create more complex selection collisions in the settings if you need more accurate selection. See the example level for a working setup.
For cursor selection, the plugin uses the object's own collision. Make sure the object's collision blocks the same trace channel that is set in the Selection Manager settings. By default, this is the Visibility channel.
| Mode | Setting | Use it for |
|---|---|---|
| Simple | Use Simple Collision (+ Simple Collision Offset) |
A single point at the object center. Fastest — best for large unit counts. Used automatically when no LODs are set. |
| Sphere LODs | Collision LODs |
One or more spheres (Center Offset + Radius) per LOD. LODs switch by camera distance (Switching Distance LOD). Precise selection for varied shapes. |
| Dynamic | Use Dynamic Collisions |
Collision returned every frame by Get Object Dynamic Collisions. For collision tied to moving parts or bones. Slowest. |
Tuning collision visually
Assign BP_SM_Debugger to the manager's Debugger Class and enable Show Debug Collisions to see the spheres in play.
The debugger also has an editor preview mode for authoring collision shapes and copy-pasting them into an object's Collision LODs.
Collision Settings
For more details, see: Collision Settings
Per-object options
Other fields in the Register Object Settings:
| Setting | Description |
|---|---|
Can Be Selected With Marquee |
Allow / disallow selection by the selection box. |
Can Be Selected Via Select All |
Include the object in Select All. |
Can Be Selected By Index |
Allow selection by Select Objects By Index. |
Selection Index |
The object's index for index-based selection. |
Selection Formation ID |
Group id for "select together" cohesion (see below). -1 = ungrouped. |
Selection Manager settings
Cursor
| Setting | Description |
|---|---|
Trace Channel |
Collision channel used for cursor hits. |
Trace Complex |
Use per-poly mesh for cursor hits instead of simple collision. |
Highlight Object Under Cursor |
Auto-highlight the hovered object. |
Actor Hit Priority |
When both an actor and a component are hit, prefer the actor. |
Minimum Drag Distance |
Pixels the cursor must move before a click becomes a marquee drag. |
Disable Cursor Interaction |
Turn off cursor selection entirely (marquee only). |
Marquee Tool
| Setting | Description |
|---|---|
Marquee Widget Class |
The selection-frame widget. Defaults to WB_SM_MarqueeTool; assign your own to restyle it. |
Enable Dynamic Object Highlighting |
Highlight objects inside the frame live while dragging. |
Snap Marquee Start Position |
Anchor the frame's start to the clicked world point, so you can keep selecting while the camera moves. |
Player Viewport Relative |
For player-attached widgets in split screen. |
Widget
You can swap the marquee widget during gameplay with Set Marquee Widget Class.
General
| Setting | Description |
|---|---|
Orthographic Projection |
Enable when your camera is orthographic. |
Prevent Reselection Flicker |
Keeps the current selection on screen until a new selection is finalized, so it doesn't blink empty for a frame when you start selecting again. |
Player Controller Index |
Which player controller to use. |
Selection Typse
The plugin supports three independent object grouping systems:
- Formation — if one unit is selected or highlighted, all units with the same
Formation IDare also selected or highlighted. - Selection Group — RTS-style control groups. You can bind selected units or buildings to a hotkey using Ctrl + 1...9, and then select that group by pressing the number key.
- By Index — fast selection of units or buildings of the same type,
for example when double-clicking a unit or building.
Formation selection
When Select Entire Formation is enabled, hovering over or box-selecting any unit will highlight or select all units with the same Formation ID.
A Formation ID value of -1 means that the unit is not part of any formation.
Selection Manager functions for working with formations:

| Name | Description |
|---|---|
Select Entire Formation |
Master toggle. When on, clicking / hovering / marqueeing any member selects the whole formation. |
Selection Formation ID |
The object's initial formation at registration. -1 = ungrouped. |
Set Object Selection Formation |
Push a new formation at runtime (unit joins / leaves). -1 to clear. |
Get Object Selection Formation |
Returns the object's current formation id, or -1 if ungrouped or not registered. |
Get Object Formation Info |
The object reports whether it's in a formation and which one. Read at registration and on refresh — not every frame. |
Refresh Object Formation |
Re-pull one object's formation from its Get Object Formation Info. |
Refresh All Formations |
Re-pull formations for all registered objects at once. |
Get Selected Formation Indexes |
Returns the distinct formation IDs currently selected. |
Finish Selection also returns Selected Formation Indexes in its result (filled only when Select Entire Formation is enabled).
You also need to implement the Get Object Formation Info interface function by creating two variables.
You can use these variables for your own gameplay logic. If you change their values at runtime, call the appropriate Refresh function in the Selection Manager to apply the changes.

Selection Groups
You can create RTS-style control groups by pressing Ctrl + Number to assign the current selection to a group, and then pressing that number to select the group.
You can also set up double-click selection, allowing the player to select all units or buildings of the same type.

| Name | Description |
|---|---|
Make Selection Group |
Save the current selection under a number. |
Select Group |
Recall a previously saved group by its number. |
Selection by Index
Select every object of the same kind at once — for example, double-click one unit to select all units of that type.
When you register an object, set in its Settings:
Selection Index— a category ID, give the same index to everything you want selected together (infantry =1, cavalry =2).Can Be Selected By Index— keep enabled, objects with it off are skipped.
Tip
The index is assigned at registration. To change it later, use Set Object Selection Index function
Call one of these on the Selection Manager:

| Function | Use |
|---|---|
Select Objects By Index |
Select all registered objects with that index. |
Select Objects By Same Index |
Select everything sharing the given object's index - pass the clicked unit (great for double-click). |
Select Objects By Indexes |
Select several categories at once. |
Each has a Selection Only On Screen parameter: when on, only objects currently visible on screen are selected.
Double-click selection by index
When Prevent Reselection Flicker is enabled in Selection Manager settings, a double-click must call Interrupt Selection before Select Objects By Same Index.
Optimization
For large numbers of selectable objects:
| Setting | Description |
|---|---|
Throttle Marquee Highlight + Marquee Highlight Update Interval |
Update live marquee highlighting on an interval instead of every frame. |
Use Spatial Grid (experimental) |
Broad-phase grid for simple-collision marquee tests. Tune with Cell Size, Selection Plane Z, Bounds Padding, Rebuild Interval. |
Debugging
The Selection Manager Component includes a debug mode that displays the collision data used for marquee selection.
| Setting | Description |
|---|---|
Show Debug Collisions + Debugger Class |
Draw each object's selection collision / LODs in play. |
Show Debug Spatial Grid + Debug Spatial Grid Draw Time |
Draw occupied spatial-grid cells. |
Debugger Class
Select BP_SM_Debugger as the debugger class. BP_SM_Debugger is included with the plugin.
You can adjust the visual style of the displayed collision volumes in the BP_SM_Debugger settings.

Modifying plugin assets
If you want to modify any plugin asset, make a copy of it and move the copy to your project folder.
Otherwise, your changes may be lost when the plugin is updated.

