I made a plugin that makes creating high performance crowd battle super easy

Create your epic battle today with ease !
Mass Battle is currently the most comprehensive crowd battle simulation plugin for unreal engine available on Fab. It is user-friendly, feature-rich, flexible, highly performant with good visual quality. This asset can be used in both code and blueprint(full bp support). Professional price comes with enhanced customer support including prioritized bug fix and customizations.

How is this framework different from other crowd-sim assets?

  • Kick-start : Integrated most of the features needed in a crowd fight, saving you years of dev time

  • Easy Adaptation: Full blueprint syncronous control over any data, you can easily add your own game logic

  • High Image Quality : GPU can focus on rendering, allowing fancy VFX and high screen percentage (ssaa)

Demo Videos: 3 Demos | QuickStartTut

Demo Projects: WarSimulation | HordeSurvival | ZombieFPS

Discord: Link

Doc: Link

## Technical Details

- Dependencies:

  • AnimToTexture(Engine Included)

  • MassGameplay(Engine Included)

  • Niagara(Engine Included)

- Main Tech Stack:

  • Mass Entity ECS

  • PBD collision

  • AVO2 avoidance

  • Hash grid spatial query

  • Flow field and A* pathfinding

  • Niagara GPU particle visualization

  • Deterministic lockstep

- AI Behavior System:

  • AI perception: vision with configurable query

  • Birth, Sleep, Patrol, Chase, Attack, Hit, Death, each with many params

  • All-in-one agent config data asset

  • State tree support coming soon

- Collision System

  • PBD for agent vs agent and agent vs scene collision

  • Capsule collider can orient in any relative rotation

- Movement System

  • AVO2 for natrual and smooth avoiding movement

  • Support flying, falling and moving on uneven surfaces

  • Movement models includes creature, vehicle and aircraft

  • Ground normal alignment, velocity pitching and banking

  • Avoidance group mask

- Navigation System

  • Included FlowFieldCanvas plugin as a module

  • Both cell grid and nav mesh pathfinding

  • Both flow field(crowd) and A*(individual) pathfinding

  • Support nav link and modifiers

  • Async EnvQuery and Update

  • Multi-goal flow field

- Trace System:

  • Shapes including Sphere, SphereSweep, Box, BoxSweep, Sector, Cone, ViewFrustum

  • Dist Sort options including near to far, far to near, random, none

  • Keep result count, draw debug, query, visibility check, etc.

- Query System:

  • Filter by composition, including tag, fragment and flag

  • Filter by logic, including All, Any and None

  • Filter by priority composition

  • Visibility check by tracing against given object type

  • Match individual agent handle with query

- Damage and Debuff System

  • 3 damage modes : point, radial, beam

  • 3 debuffs: launching, slowing and temporal dmg

  • 6 material fx: frozen, burning, poisoned, hit glow, dissolve, team color

- Spawn System:

  • Spawn agent, projectile, loot, actor, sound and fx

  • Spawn on agent events: birth, attack, hit and death

  • Spawn on projectile events: spawn, hit target and despawn

  • UObject-Agent attachment functions and nodes

- Projectile System:

  • 4 movement modes : static, ballistic, interped, tracking

  • Ballistic launch velocity solver with prediction

  • Projectile config data asset

- Loot System:

  • 2 movement modes : ballistic, interped

  • Loot data asset, loot spawn and loot event

- Event Interface System:

  • MassBattleAgentInteface, MassBattleProjectileInterface, MassBattleLootInterface

  • On Agent Appear, OnTrace, OnMove, OnAttack, OnHit, OnDeath, OnStatistics, OnAnimState, On Pool…

  • On Projectile Spawn, On Hit, On Despawn

  • On Projectile Spawn, On Collected

  • Configure any actor to be event receiver

- Statistics System:

  • Total Kills, Total Dmg, Total Score, Survived Time…

  • Use On Statistics Change Event or CreditToEntity to accumulate team stat

- Animation System:

  • Editor utility widget for one click VAT set up with LODs

  • Animation blending that support blendspace1D

  • Editor utility can batch rename and auto fill assets

  • Random cycling of multiple animations

- Render System:

  • NS GPU Particle VAT

  • NS GPU Particle UI:

    • Health bar material support interpolation

    • Text pop material can display from -999 trillion to 999 trillion

  • NS GPU Batched Fx Emitter:

    • Batched burst particle(muzzle, spark)

    • Batched attached particle(war head, trail)

- Actor Representation System

  • MassBattleAgentComponent

  • Support auto swap between particle and actor

  • Allow spawn actor of class or hand place actor in the level

- MassAPI Plugin Inside

  • Included MassAPI as a module

  • Mass Entity full blueprint workflow and simplified c++ api

    • Add, get, set, remove tags, fragments, flags

    • Spawn entity via template, despawn entity

    • Query individual entity or query matching entities

    • Deferred operations with delegate

- Under Development Freatures:

  • Agent State tree tasks

  • Agent mouse selection and move to

  • Agent niagara flipbook renderer

  • Agent TurboSequence renderer

  • Mobile device compatibility

  • Network replication