Appearance
Blueprint recipe index
Use this page when you know the gameplay result you want but not which Mass Forge asset or node owns it. Every recipe below is available to Blueprint projects. The native high-volume loop is optional until a project needs to iterate very large populations every frame.
Start by opening /MassForge/L_MF_BlueprintQuickStart. Its placed BP_MF_BlueprintQuickStart__OPEN_ME actor contains executable examples for entity creation, attributes, damage, healing, ability grant/activation, Mass projectiles, failure handling, and target respawn. The five public gameplay maps add Blueprint-owned startup graphs and editable definition references around their native high-volume simulation.
Choose the execution form
| Situation | Use | Meaning |
|---|---|---|
| A known Mass-idle setup or ordinary game-thread input path | Direct node | Completes now and returns a detailed result. |
| A processor callback, timer, delegate, or path that may overlap Mass processing | Queue node | Returns a receipt now; match its request ID in the subsystem completion event. |
| A local Blueprint flow that wants one correlated completion | Async node | Wraps queue submission, request matching, and delegate cleanup in one latent-style action. |
Queue acceptance is not gameplay success. Always inspect the later completion result. Never retry Queue Full in an unbounded Tick loop.
Create a new attribute
- Open or create a Mass Forge Vital/Combat/Support Attributes Schema.
- Add an entry with a stable name, default, minimum, maximum, and unique slot.
- Save and resolve the schema editor diagnostics.
- Assign the schema in Project Settings > Mass Forge > Global Attribute Schemas.
- Add Mass Forge Attributes Trait to the Entity Config that needs the domain.
- Select the new attribute from any schema-backed Attribute picker.
Use the Vital domain for Health-like state, Combat for formula inputs, and Support for movement/resources. These are storage domains, not a mandatory game taxonomy.
See Starter Attributes and Schema Editor.
Create an entity
Fast path:
- Open Tools > Mass Forge Entity Config Wizard.
- Choose a starter profile and a project-owned
/Game/...destination. - Create the package; the wizard creates or reuses schemas and an ordinary Mass Entity Config.
- Call Spawn Mass Forge Entity and keep the returned handle only from the Success execution pin.
For several placements, use Spawn Mass Forge Entities with a bounded transform array. Blueprint returns at most 10,000 handles per batch; use a native population/spawner path for larger allocations.
Read, decrease, or restore Health
| Goal | Blueprint node | Important output |
|---|---|---|
| Read Health | Get Mass Forge Attribute | Use Success, then Out Value. |
| Add/subtract a raw amount | Change Mass Forge Attribute | Inspect old/new values and clamping. |
| Safely change during uncertain timing | Queue Mass Forge Attribute Change | Store the receipt request ID and match completion. |
| Reusable heal/resource transaction | Apply Mass Forge Instant Effect | Inspect the atomic effect result. |
| Restore saved values | Restore Mass Forge Attribute Snapshot | Use the queued form outside a guaranteed idle point. |
Use a Damage Definition for attacks. A raw Health - 10 is appropriate for a tutorial or explicit administrative rule, not for combat that needs mitigation, Shield, criticals, tags, death policy, or event context.
Damage in every supported direction
| Source | Target | Recommended node |
|---|---|---|
| Mass entity | Mass entity | Apply Mass Forge Entity Damage To Entity |
| Actor/player | Mass entity | Apply Mass Forge Actor Damage To Entity |
| Mass entity | represented Mass Actor | Resolve the Actor's handle, then entity-to-entity damage |
| Mass entity | ordinary Actor/player | Apply Mass Forge Entity-to-Actor Effect plus the Effect Receiver component |
| Actor/player | represented Mass Actor | Apply Mass Forge Actor Damage To Entity after Actor-to-entity resolution |
A Mass Forge Damage Definition owns the Health/Shield attributes, source Power, mitigation, critical rules, tag gates, death tag, and post-death policy. The returned damage result exposes every formula stage and whether death handling was scheduled.
See Damage and Actor and Entity Parity.
Create a reusable heal, buff, debuff, DoT, or HoT
- Use a Mass Forge Instant Effect for one atomic group of attribute/tag changes.
- Use a Mass Forge Persistent Effect for duration, period, stacking, reversible modifiers, DoT, or HoT.
- Store the returned persistent-effect handle when the game must remove or refresh the exact application.
- Use Effect Magnitude Calculations when a magnitude depends on source/target attributes or context.
The starter content includes heal, Mana restore, damage pulse, control-tag, slow, power buff, defense debuff, DoT, and HoT assets under /MassForge/BlueprintExamples/Data.
Create a new ability
- Create a Mass Forge Ability Data Asset.
- Set a stable ID and choose Instant, Cast, or Channel execution.
- Configure costs, cooldown/group cooldown, charges, conditions, targeting policy, and effects.
- Grant it through the Entity Config's Ability Trait or Grant Mass Forge Ability.
- Call Can Activate Mass Forge Ability for UI prediction when useful.
- Call Activate Mass Forge Ability and handle its structured result.
- Use cancel/interrupt nodes for active cast or channel lifecycles.
The shipped assets demonstrate self-heal, targeted strike, area burst, projectile cast, charged shot, channel drain, and interruptible cast.
See Abilities, Ability Lifecycles, and Ability Conditions.
Create a skillshot or projectile ability
- Create a projectile-ready Mass Entity Config with Mass Forge Projectile Trait.
- Create the Damage Definition or Effect that should resolve at impact.
- Author the ability's costs, cooldown, cast/channel timing, and target requirements.
- On the ability's release/presentation event, call Launch Mass Forge Entity Projectile with source/target handles, start/target positions, speed, arc, lifetime, and impact payload.
- Render Get Mass Forge Projectile Snapshots with Niagara, HISM, or a bounded Actor pool.
- Apply hit feedback only from projectile resolution. Do not deal damage at launch and then draw a cosmetic projectile afterward.
Use Launch Mass Forge Projectile (Async) when one Blueprint flow should await the matching impact/expiry. The Quick Start's left-click path is the smallest inspectable reference; the Horde and Battle samples show the high-volume presentation bridge.
See Mass Projectiles.
Create an attack
An attack is orchestration, not a separate opaque subsystem:
- Select a target with a radius, segment, or policy query.
- Check tags, range, resources, cooldown, and project rules.
- Activate an ability or launch a projectile.
- Resolve Damage/Effects at the release frame or projectile impact.
- listen to gameplay events for animation, audio, UI, or analytics.
- Reacquire when the handle becomes stale or the target dies.
Blueprint is suitable for player attacks and bounded groups. Put per-frame decisions for thousands of entities in a Mass processor or native fixed-step coordinator, while keeping the definitions and high-level orchestration in Blueprint/Data Assets.
Add factions, states, and targeting gates
Use counted gameplay tags for faction, alive/dead, control state, immunities, and temporary status. Add starting tags in the Entity Config, then use add/remove/query nodes at runtime. Damage Definitions, Effects, Abilities, and Targeting Policies can require or block tags without imposing a Mass Forge-specific faction taxonomy.
For same-faction friendly-fire prevention, add Mass Forge Gameplay Tag Damage Policy Component to one manager Actor or Game State and populate Faction Tags with your project-owned exact tags. For alliances, safe zones, or ownership rules, subclass Mass Forge Damage Policy Component and override Evaluate Mass Forge Damage Policy. Return Abstain when your rule does not apply so other bounded world policies can participate.
See Gameplay Tags, Combat and cross-ownership effects, Target Selection, and Targeting Policies.
Death, destruction, and respawn
A Damage Definition can leave the entity alive with a death tag, defer destruction, or destroy it according to its post-death policy. Treat the old handle as stale after destruction.
For respawn:
- finish or cancel gameplay tied to the old handle;
- destroy the exact generation-checked entity if it still exists;
- spawn a new entity from the project-owned Entity Config;
- replace every stored handle with the newly returned handle;
- reacquire presentation and target relationships.
The Quick Start's R path demonstrates explicit destroy-then-spawn handle replacement.
Debug and prove the setup
- Run Mass Forge Project Health before PIE and packaging.
- Inspect a live entity in Mass Forge Entity Inspector.
- Use Gameplay Event History to follow attribute, damage, effect, ability, and projectile outcomes.
- In the sample maps, use Mass Forge Live Showcase to read allocated, active, simulated, represented, animated, and resolved counts separately.
- Exercise invalid/stale handles, missing schema entries, insufficient cost, cooldown, queue full, and dead-target branches.
What remains native by design
Blueprint can author and call every ordinary gameplay operation above. Native C++ remains the intended path for:
- per-frame iteration over very large entity populations;
- custom Mass processors, traits, fragments, and representation backends;
- bespoke SIMD/batched algorithms and project-specific memory layouts;
- allocations larger than the bounded Blueprint batch-return contract;
- the fixed-step high-volume loops inside the public showcase games.
That boundary is a performance and safety choice, not missing Blueprint gameplay parity. Continue with Blueprint Quick Start, Blueprint Authoring, or C++ Gameplay Quick Start.