Skip to content

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

  1. An Actor convenience node first resolves the Actor in the world supplied by the hidden World Context pin.
  2. On successful resolution, it delegates to the corresponding entity-handle node without changing validation, ordering, atomicity, clamping, stacking, costs, cooldowns, or queue limits.
  3. A direct Actor call returns the same operation result and payload as the entity call on the resolved handle.
  4. 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.
  5. Failed Actor resolution performs no mutation. A rejected queued call has request ID 0 and promises no completion event.
  6. 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 nodeRepresented-Actor node
Get Mass Forge AttributeGet Mass Forge Attribute from Actor
Change Mass Forge AttributeChange Mass Forge Attribute for Actor
Queue Mass Forge Attribute ChangeQueue Mass Forge Attribute Change for Actor
Capture Mass Forge Attribute SnapshotCapture Mass Forge Attribute Snapshot from Actor
Restore Mass Forge Attribute SnapshotRestore Mass Forge Attribute Snapshot to Actor
Queue Mass Forge Attribute Snapshot RestoreQueue Mass Forge Attribute Snapshot Restore to Actor
Apply Mass Forge Instant EffectApply Mass Forge Instant Effect to Represented Actor
Apply Mass Forge Instant Effect with ContextApply Mass Forge Instant Effect with Context to Represented Actor
Queue Mass Forge Instant EffectQueue Mass Forge Instant Effect to Represented Actor

Complete entity-state persistence

Entity-handle nodeRepresented-Actor node
Capture Mass Forge Entity StateCapture Mass Forge Entity State from Actor
Capture Mass Forge Entity State with Lifecycle Target ReferenceCapture Mass Forge Entity State from Actor with Lifecycle Target Reference
Restore Mass Forge Entity StateRestore Mass Forge Entity State to Actor
Restore Mass Forge Entity State with Lifecycle TargetRestore Mass Forge Entity State to Actor with Lifecycle Target
Queue Mass Forge Entity State RestoreQueue Mass Forge Entity State Restore to Actor
Queue Mass Forge Entity State Restore with Lifecycle TargetQueue 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 nodeRepresented-Actor node
Add Mass Forge Gameplay TagAdd Mass Forge Gameplay Tag to Actor
Remove Mass Forge Gameplay TagRemove Mass Forge Gameplay Tag from Actor
Queue Add Mass Forge Gameplay TagQueue Add Mass Forge Gameplay Tag to Actor
Queue Remove Mass Forge Gameplay TagQueue Remove Mass Forge Gameplay Tag from Actor
Has Mass Forge Gameplay TagHas Mass Forge Gameplay Tag on Actor
Get Mass Forge Gameplay Tag CountGet Mass Forge Gameplay Tag Count from Actor
Query Mass Forge Gameplay TagQuery Mass Forge Gameplay Tag on Actor
Get Owned Mass Forge Gameplay TagsGet Owned Mass Forge Gameplay Tags from Actor

Persistent Effects

Entity-handle nodeRepresented-Actor node
Apply Mass Forge Persistent EffectApply Mass Forge Persistent Effect to Actor
Queue Mass Forge Persistent EffectQueue Mass Forge Persistent Effect to Actor
Get Active Mass Forge Persistent EffectsGet 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 nodeRepresented-Actor node
Grant Mass Forge AbilityGrant Mass Forge Ability to Actor
Revoke Mass Forge AbilityRevoke Mass Forge Ability from Actor
Has Mass Forge AbilityHas Mass Forge Ability for Actor
Get Mass Forge Ability Charge StateGet Mass Forge Ability Charge State from Actor
Get Mass Forge Cooldown Group RemainingGet Mass Forge Cooldown Group Remaining from Actor
Get Granted Mass Forge AbilitiesGet Granted Mass Forge Abilities from Actor
Get Active Mass Forge Cooldown GroupsGet Active Mass Forge Cooldown Groups from Actor
Queue Mass Forge Ability GrantQueue Mass Forge Ability Grant to Actor
Queue Mass Forge Ability RevocationQueue Mass Forge Ability Revocation from Actor
Can Activate Mass Forge AbilityCan Activate Mass Forge Ability from Actors
Activate Mass Forge AbilityActivate Mass Forge Ability from Actors
Queue Mass Forge Ability ActivationQueue Mass Forge Ability Activation from Actors
Request Mass Forge Ability Activation for AIRequest Mass Forge Ability Activation for AI from Actors
Get Active Mass Forge Ability LifecycleGet Active Mass Forge Ability Lifecycle from Actor
Cancel Active Mass Forge AbilityCancel Active Mass Forge Ability from Actor
Interrupt Active Mass Forge AbilityInterrupt Active Mass Forge Ability from Actor
Queue Active Mass Forge Ability CancellationQueue Active Mass Forge Ability Cancellation from Actor
Queue Active Mass Forge Ability InterruptionQueue 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:

SourceTargetDirect nodeQueued node
EntityEntityApply Mass Forge Entity Damage To EntityQueue Mass Forge Entity Damage To Entity
ActorEntityApply Mass Forge Actor Damage To EntityQueue Mass Forge Actor Damage To Entity
Entityrepresented ActorApply Mass Forge Entity Damage To ActorQueue Mass Forge Entity Damage To Actor
Actorrepresented ActorApply Mass Forge Actor Damage To ActorQueue 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 outcomeAttribute/effect familySnapshot familyTag familyPersistent familyAbility familyDamage target
Invalid WorldInvalid WorldInvalid WorldInvalid WorldInvalid WorldInvalid WorldInvalid World
Invalid Actor, Different World, Representation Unavailable, Not Represented, or Stale RepresentationInvalid EntityInvalid EntityInvalid EntityInvalid Entitysource: Invalid Entity; target: Invalid TargetInvalid 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.

Mass Forge documentation — generated from the shipping Markdown source.