Changelog
Runtime walls
- New
RemoveWallTileandClearWallTiles- walls are no longer add-only; removing a tile re-routes affected orders on the next tick - Nav-mesh wall sync: with Sync Walls With Nav Mesh on (default), a runtime nav mesh rebuild re-syncs the wall grid automatically - newly blocked cells become walls, freed cells are removed. Manually stamped tiles are never touched
GenerateWallTilesFromNavMeshnow removes stale nav-mesh walls too, and returns the number of tiles changed
Per-agent radius
- New per-agent radius - set it at runtime with
SetAgentsRadius/SetAgentRadius, read it back withGetAgentRadius. A negative value resets to the global Radius - Drives avoidance, wall collision, and formation slots - mixed groups size each slot to its agent, with big agents up front and centre. Pathfinding always uses the global Radius, whatever an agent's own size
- Debug drawing reflects each agent's radius
Teams
- New per-agent team id - set it at runtime with
SetAgentsTeam/SetAgentTeam, read it back withGetAgentTeams. Agents spawn on team0; the numbers are yours to define - Every selection query takes a
Teamsfilter:GetAgents,GetAgentsInRect,GetAgentsInRadius,GetAgentsInScreenRect. An empty array returns every agent, so existing graphs are unchanged - New
FilterAgents- narrow an index array you already have to certain teams - New
GetNearestAgent- closest agent to a point, optionally restricted to teams
Team avoidance
- New
SetTeamAvoidance(TeamA, TeamB, Strength, SettlePushStrength)- override avoidance for one team pair.TeamA == TeamBsets the rule within a team 0disables that push entirely (the pair walks through each other); a negative value follows the matching global slider and keeps tracking itClearTeamAvoidance,ClearAllTeamAvoidance,GetTeamAvoidanceto manage rules- Costs nothing when unused - with no rules set the avoidance loop does no team work at all
Formations
- Fixed: agents piled up when a move order landed on a wall. Slots blocked by geometry were each pushed to the nearest free spot independently, so many of them converged on the same patch of ground next to the wall. Slot placement now lifts the formation origin clear of the wall first and keeps slots a full spacing apart while repairing them
- Slots can also now escape walls over four times thicker than before
- New per-order
Anchorpin onSetAgentsTarget/SetAgentTarget:Near Edge(default, unchanged behaviour) puts the front of the formation on the ordered position;Centerputs the middle of the group on it
Debug
- New Show Teams overlay - a coloured dot above every agent, one colour per team, with team-id labels on the agents nearest the camera (Team Label Distance)
- Renamed
GetAgentsIndicestoGetAgentsFromIds(existing Blueprints keep working via CoreRedirects) - New
GetAgents- returns every agent's index in one call GetAgentTransformsparameter renamed toFilterIndicesfor clarity- Named return pins on Blueprint nodes for more readable graphs
Initial release.
- Group movement with shared pathfinding and formations (blob, box, wedge)
- Flow Field and Spatial A* pathfinding backends
- Local avoidance with separate settle-push tuning
- Runtime walls, seeded from the nav mesh or stamped at runtime
- Per-agent speed overrides on top of the global default
- Facing targets - steer agents' rendered facing toward a point, independent of movement
- Movement lifecycle events: reached-goal, stuck, order-canceled, spawned, removed
- Selection queries: screen rect (marquee), world rect, radius
- Ground snapping with per-agent Z tracking and slope alignment
- Stable per-agent ids that survive index reshuffles
- Bulk Blueprint math nodes for position/transform arrays
- Supported on Unreal Engine 5.5 (Win64)