#Game Creator Actions
Gameplay Tags Actions let Game Creator logic set tags, update containers, iterate over matching GameObjects, search for tagged objects, filter lists, and run physics queries that only accept tagged results.
Use them when you want designers to build tag-driven logic without writing code.
#Category Organization
All visual scripting elements are organized into clear sub-menus in Game Creator pickers:
Gameplay Tags/
├── Manage/ (Set, Add, Remove, Toggle, Replace, Clear, Copy, Set Multiple)
├── Hierarchy/ (Exclusive Tags, Parent Groups, Sibling Cycling, Clear Children)
├── Queries/ (Find, Find Closest, Filter, Raycast, Raycast 2D, Overlap Sphere, Overlap Circle)
└── Reactions/ (For Each, Execute Manually, Set Reaction Config, Cancel, Evaluate Existing)
#Match Options
Actions expose their matching choice in the inspector:
| Match | Meaning |
|---|---|
Any |
Match any object that has a GameplayTagComponent with tags. |
Exact |
Match only the selected tag. |
Include Children |
Match the selected tag or any child tag. |
Example:
Tag: Interaction.Usable
Match: Include Children
Matches: Interaction.Usable.Door, Interaction.Usable.Chest
#Manage Actions (Gameplay Tags/Manage/)
#Set Gameplay Tag
Sets a single Gameplay Tag value on a property, component, or variable.
| Parameter | Description |
|---|---|
| Set | Destination that receives the tag. |
| Tag | Tag value to assign. |
#Add Gameplay Tag
Adds a tag to a tag container.
| Parameter | Description |
|---|---|
| Set | Destination tag container. |
| Tag | Tag to add. |
#Remove Gameplay Tag
Removes a tag from a tag container.
| Parameter | Description |
|---|---|
| Set | Destination tag container. |
| Tag | Tag to remove. |
#Toggle Gameplay Tag
Adds the tag if it is currently missing, or removes it if already present in the target container.
#Replace Gameplay Tag
Swaps an old tag with a new tag in a single atomic container operation.
#Clear Gameplay Tags
Removes every tag from a container.
#Hierarchy & Exclusive Actions (Gameplay Tags/Hierarchy/)
#Set Exclusive Gameplay Tag
Sets one tag and removes conflicting tags in the same sibling group.
| Parameter | Description |
|---|---|
| Set | Destination tag container. |
| Tag | Tag to enable. |
| Conflict Scope | Direct Siblings Only, Sibling Branches, or Whole Parent Subtree. |
#Set Parent Group Gameplay Tag
Sets a child tag under a parent group and enforces exclusive sibling behavior.
#Cycle Sibling Gameplay Tag
Cycles to the next or previous sibling tag under the same parent and applies exclusive handling.
| Parameter | Description |
|---|---|
| Set | Destination tag container. |
| Reference Tag | Current or anchor sibling tag. |
| Direction | Next or Previous. |
| Wrap | If enabled, cycles from end to start (and reverse). |
| Scope On Apply | Conflict handling used when applying the selected sibling. |
#Clear Parent Group Gameplay Tags
Clears tags from a parent group without assigning a replacement (Direct Children Only or Whole Subtree).
#Query Actions (Gameplay Tags/Queries/)
#Find Game Objects by Gameplay Tag
Fills a Game Creator List Variable with matching GameObjects in the scene. Supports an Include Inactive toggle to discover disabled/pooled GameObjects.
| Parameter | Description |
|---|---|
| Tag | Tag to search for. |
| Match | Any, Exact, or Include Children. |
| Include Inactive | When enabled, queries both active and disabled/pooled GameObjects. |
| List Variable | List Variable that receives matching GameObjects. |
#Find Closest Game Object by Gameplay Tag
Finds the closest active matching GameObject from an origin position.
#Filter Game Objects by Gameplay Tag
Filters a Game Creator List Variable and keeps only GameObjects with matching tags.
#Raycast by Gameplay Tag
Performs a 3D raycast and stores the first hit GameObject that matches the tag query.
#Raycast 2D by Gameplay Tag
Performs a 2D physics raycast and stores the first hit GameObject that matches the tag query.
#Overlap Sphere by Gameplay Tag
Runs a 3D sphere overlap and stores matching GameObjects in a List Variable.
#Overlap Circle by Gameplay Tag
Runs a 2D circle overlap and stores matching GameObjects in a List Variable.
#Reaction Actions (Gameplay Tags/Reactions/)
#For Each Tagged Game Object
Imperatively loops over all matching GameObjects in the scene and executes instructions with Target bound to each matched instance.
Instruction: For Each Tagged Game Object
Tag: Unit.Enemy
Match: Include Children
Include Inactive: [x] (Discovers disabled/pooled GameObjects)
Mode: Inline Instructions (or Actions Component)
Instructions:
Apply Difficulty Scaling (Target)
Wait Until Complete: [x]
- Inline Instructions: Write your instructions directly inside the loop inspector.
- Actions Component: Reference an external reusable Actions component.
- Include Inactive: Iterate over disabled/pooled objects.
- Execution Modes: Sequential (
Wait Until Complete = true) or concurrent (Wait Until Complete = false).
#Reaction Management Instructions
| Instruction | Description |
|---|---|
| Execute Reaction Manually | Manually triggers a Reaction on a specific target or across all matching objects in the scene. |
| Set Reaction Tag | Changes the tag filter on a GameplayTagReaction at runtime. |
| Set Reaction When | Changes the triggering lifecycle condition at runtime. |
| Set Reaction Match | Changes the match mode (Include Children / Exact) at runtime. |
| Set Reaction Delay | Changes the timing mode (Immediate, Next Frame, Custom Seconds) and duration. |
| Cancel Reaction | Cancels active executions and clears the pending execution queue. |
| Evaluate Existing Objects in Reaction | Forces an immediate evaluation of existing matching objects in the scene. |
#Related Game Creator Events
Events are structured into dedicated sub-categories:
#Lifecycle Events (Gameplay Tags/Lifecycle/)
| Event | Description |
|---|---|
| On Tagged Game Object Created | Fires once in Awake when a component is created. |
| On Tagged Game Object Enabled | Fires in OnEnable when a component enters the active registry (spawning/pooling). |
| On Tagged Game Object Disabled | Fires in OnDisable when a component unregisters. |
| On Tagged Game Object Destroying | Fires in OnDestroy before the target GameObject becomes invalid. |
#Tag Change Events (Gameplay Tags/Changes/)
| Event | Description |
|---|---|
| On Gameplay Tags Changed | Run when a target component's tags change. |
| On Gameplay Tag Added | Run when a matching tag is added to an active object. |
| On Gameplay Tag Removed | Run when a matching tag is removed from an active object. |
| On Exclusive Child Gameplay Tag Changed | Run when the active tag under an exclusive parent group changes. |
| On Gameplay Tag Under Parent Changed | Run when any tag under a parent changes. |
#Physics Events (Gameplay Tags/Physics/)
| Event | Description |
|---|---|
| On Trigger Enter Gameplay Tag | Run when a tagged object enters a trigger. |
| On Trigger Exit Gameplay Tag | Run when a tagged object exits a trigger. |
| On Collision Enter Gameplay Tag | Run when a tagged object starts colliding. |
| On Collision Stay Gameplay Tag | Run while a tagged object remains colliding. |
| On Collision Exit Gameplay Tag | Run when a tagged object stops colliding. |