Appearance
Actor and entity-handle parity
Mass Forge stores gameplay state on Mass entities. Mass Forge Entity Handle is therefore the canonical, actorless API and remains valid for entities that have no Actor representation. Actor convenience nodes are strict adapters for represented Mass entities: they resolve the Actor's current index-and-serial handle once, then call the same canonical operation.
This keeps Blueprint graphs approachable without creating a second attribute, tag, effect, ability, or damage implementation.
Contract
- An Actor convenience node first resolves the Actor in the world supplied by the hidden World Context pin.
- On successful resolution, it delegates to the corresponding entity-handle node without changing validation, ordering, atomicity, clamping, stacking, costs, cooldowns, or queue limits.
- A direct Actor call returns the same operation result and payload as the entity call on the resolved handle.
- A queued Actor call resolves at submission time and queues the complete entity generation. A later representation change cannot redirect the request to another entity.
- Failed Actor resolution performs no mutation. A rejected queued call has request ID
0and promises no completion event. - Actor adapters do not make representation authoritative. Removing or replacing an Actor representation does not remove or transfer Mass Forge gameplay state.
Call Get Mass Forge Entity from Actor first when a graph needs the detailed resolution distinction between Invalid Actor, Different World, Representation Unavailable, Not Represented, and Stale Representation. Convenience nodes map those failures into their operation family as documented below.
Attributes, snapshots, and Instant Effects
| Entity-handle node | Represented-Actor node |
|---|---|
Get Mass Forge Attribute | Get Mass Forge Attribute from Actor |
Change Mass Forge Attribute | Change Mass Forge Attribute for Actor |
Queue Mass Forge Attribute Change | Queue Mass Forge Attribute Change for Actor |
Capture Mass Forge Attribute Snapshot | Capture Mass Forge Attribute Snapshot from Actor |
Restore Mass Forge Attribute Snapshot | Restore Mass Forge Attribute Snapshot to Actor |
Queue Mass Forge Attribute Snapshot Restore | Queue Mass Forge Attribute Snapshot Restore to Actor |
Apply Mass Forge Instant Effect | Apply Mass Forge Instant Effect to Represented Actor |
Apply Mass Forge Instant Effect with Context | Apply Mass Forge Instant Effect with Context to Represented Actor |
Queue Mass Forge Instant Effect | Queue Mass Forge Instant Effect to Represented Actor |
Complete entity-state persistence
| Entity-handle node | Represented-Actor node |
|---|---|
Capture Mass Forge Entity State | Capture Mass Forge Entity State from Actor |
Capture Mass Forge Entity State with Lifecycle Target Reference | Capture Mass Forge Entity State from Actor with Lifecycle Target Reference |
Restore Mass Forge Entity State | Restore Mass Forge Entity State to Actor |
Restore Mass Forge Entity State with Lifecycle Target | Restore Mass Forge Entity State to Actor with Lifecycle Target |
Queue Mass Forge Entity State Restore | Queue Mass Forge Entity State Restore to Actor |
Queue Mass Forge Entity State Restore with Lifecycle Target | Queue Mass Forge Entity State Restore to Actor with Lifecycle Target |
These adapters preserve the same atomic attributes/tags/ability-grant/cooldown/charge/effect/lifecycle snapshot semantics, copied queued payload and target binding, generation revalidation, and terminal completion contract as the canonical entity operations. The represented Actor identifies the entity whose state is restored; an external lifecycle target remains an explicit project-resolved entity binding and may be actorless.
The represented-Actor Instant Effect nodes are deliberately strict. Dispatch Mass Forge Instant Effect to Actor is a different ownership-boundary adapter: it prefers a represented Mass entity but may instead call one ordinary Actor receiver. Use strict nodes when the target must own Mass Forge state; use Dispatch when a non-Mass player or gameplay Actor is a supported target.
Counted Gameplay Tags
| Entity-handle node | Represented-Actor node |
|---|---|
Add Mass Forge Gameplay Tag | Add Mass Forge Gameplay Tag to Actor |
Remove Mass Forge Gameplay Tag | Remove Mass Forge Gameplay Tag from Actor |
Queue Add Mass Forge Gameplay Tag | Queue Add Mass Forge Gameplay Tag to Actor |
Queue Remove Mass Forge Gameplay Tag | Queue Remove Mass Forge Gameplay Tag from Actor |
Has Mass Forge Gameplay Tag | Has Mass Forge Gameplay Tag on Actor |
Get Mass Forge Gameplay Tag Count | Get Mass Forge Gameplay Tag Count from Actor |
Query Mass Forge Gameplay Tag | Query Mass Forge Gameplay Tag on Actor |
Get Owned Mass Forge Gameplay Tags | Get Owned Mass Forge Gameplay Tags from Actor |
Persistent Effects
| Entity-handle node | Represented-Actor node |
|---|---|
Apply Mass Forge Persistent Effect | Apply Mass Forge Persistent Effect to Actor |
Queue Mass Forge Persistent Effect | Queue Mass Forge Persistent Effect to Actor |
Get Active Mass Forge Persistent Effects | Get Active Mass Forge Persistent Effects from Actor |
Removal and single-instance queries use Mass Forge Persistent Effect Handle, which already contains the owning entity generation. They do not require an Actor variant.
Abilities
| Entity-handle node | Represented-Actor node |
|---|---|
Grant Mass Forge Ability | Grant Mass Forge Ability to Actor |
Revoke Mass Forge Ability | Revoke Mass Forge Ability from Actor |
Has Mass Forge Ability | Has Mass Forge Ability for Actor |
Get Mass Forge Ability Charge State | Get Mass Forge Ability Charge State from Actor |
Get Mass Forge Cooldown Group Remaining | Get Mass Forge Cooldown Group Remaining from Actor |
Get Granted Mass Forge Abilities | Get Granted Mass Forge Abilities from Actor |
Get Active Mass Forge Cooldown Groups | Get Active Mass Forge Cooldown Groups from Actor |
Queue Mass Forge Ability Grant | Queue Mass Forge Ability Grant to Actor |
Queue Mass Forge Ability Revocation | Queue Mass Forge Ability Revocation from Actor |
Can Activate Mass Forge Ability | Can Activate Mass Forge Ability from Actors |
Activate Mass Forge Ability | Activate Mass Forge Ability from Actors |
Queue Mass Forge Ability Activation | Queue Mass Forge Ability Activation from Actors |
Request Mass Forge Ability Activation for AI | Request Mass Forge Ability Activation for AI from Actors |
Get Active Mass Forge Ability Lifecycle | Get Active Mass Forge Ability Lifecycle from Actor |
Cancel Active Mass Forge Ability | Cancel Active Mass Forge Ability from Actor |
Interrupt Active Mass Forge Ability | Interrupt Active Mass Forge Ability from Actor |
Queue Active Mass Forge Ability Cancellation | Queue Active Mass Forge Ability Cancellation from Actor |
Queue Active Mass Forge Ability Interruption | Queue Active Mass Forge Ability Interruption from Actor |
AI request polling, cancellation, and forgetting operate on a request ID rather than an entity, so their semantics are already representation-independent.
Damage
Damage Definitions always resolve against a Mass target. The convenience surface supports both endpoint forms and the same four combinations for direct and queued work:
| Source | Target | Direct node | Queued node |
|---|---|---|---|
| Entity | Entity | Apply Mass Forge Entity Damage To Entity | Queue Mass Forge Entity Damage To Entity |
| Actor | Entity | Apply Mass Forge Actor Damage To Entity | Queue Mass Forge Actor Damage To Entity |
| Entity | represented Actor | Apply Mass Forge Entity Damage To Actor | Queue Mass Forge Entity Damage To Actor |
| Actor | represented Actor | Apply Mass Forge Actor Damage To Actor | Queue Mass Forge Actor Damage To Actor |
An Actor source may be ordinary or represented. When represented, its entity handle is included so source-attribute formulas can use it. An ordinary Actor remains valid for base-damage-only requests and stays available in the Effect Context. An Actor target must represent a live Mass entity; use the generic Effect Receiver adapter when damaging a non-Mass player whose health belongs to another system.
Apply Mass Forge Damage and Queue Mass Forge Damage remain the explicit request-structure nodes for advanced callers. The convenience nodes build that same request and do not introduce another damage pipeline.
Inspection and target selection
Capture Mass Forge Entity Inspection and Capture Mass Forge Actor Inspection read the same snapshot provider. Ability target selection returns canonical handles and optional represented Actors together; collision-hit conversion resolves to the same generation-checked handle used by actorless selection.
Failure mapping
| Actor resolution outcome | Attribute/effect family | Snapshot family | Tag family | Persistent family | Ability family | Damage target |
|---|---|---|---|---|---|---|
| Invalid World | Invalid World | Invalid World | Invalid World | Invalid World | Invalid World | Invalid World |
| Invalid Actor, Different World, Representation Unavailable, Not Represented, or Stale Representation | Invalid Entity | Invalid Entity | Invalid Entity | Invalid Entity | source: Invalid Entity; target: Invalid Target | Invalid Target |
Pure convenience predicates return false, numeric convenience queries return 0, and failed array queries clear their output. Use the explicit resolver before the operation when the graph must display the more detailed representation cause.
Blueprint usage rule
- Use entity-handle nodes in Mass processors, actorless AI, saved runtime references, high-volume systems, and reusable gameplay libraries.
- Use Actor convenience nodes in Actor-owned UI, overlap/hit callbacks, Character or Controller graphs, and low-frequency presentation code.
- Use a queued variant whenever the call can occur during Mass processing. Store the positive request ID and correlate it with the matching completion event.
- Never retain an Actor-derived handle across world replacement. Resolve it again in the new world.
The runtime world automation test exercises both paths against the same represented entities, including direct and queued attributes, snapshots, Instant Effects, tags, Persistent Effects, ability ownership/state, every damage endpoint combination, and rejection of unrepresented Actors.