Unity

[Unity] Game Creator 2 Visual Scripting — Triggers, Actions, Conditions & Events

[Unity] Game Creator 2 Visual Scripting — Triggers, Actions, Conditions & Events

Thank you for visiting this site.

In this article, we will provide a detailed explanation of “Visual Scripting”, the core system of Game Creator 2.

Unlike node graph systems like Playmaker or Unity’s built-in Visual Scripting, it adopts a task list approach (a list that executes instructions from top to bottom) — this is its defining feature.

Official documentation: Game Creator 2 Documentation

You can find a list of all articles in this series below.

Complete Article List — Game Creator 2 Complete Guide Series Indexen.senkohome.com/gamecreator2-series-index/

What Is Visual Scripting?

Game Creator’s Visual Scripting consists of 3 components + 1 (Hotspot):

ComponentRole
ActionsA list of instructions executed sequentially from top to bottom
TriggersReceives events occurring in the scene (key input, collision, interval, etc.) and executes Instructions
ConditionsEach Branch holds a set of conditions and instructions; evaluates from top to bottom and executes the instructions of the first successful Branch
HotspotsDoes not affect gameplay directly but indicates “interactability” through visuals, sound, and character attention

Naming Conventions

  • Actions contain multiple Instructions
  • Conditions contain multiple Branches, each Branch holding Conditions and Instructions
  • Trigger listens for a single Event

High-Level Scripting Philosophy

Designed so you can write using vocabulary closer to human intuition than programming languages. Operations like “make this character follow that object” can be written as a single instruction without breaking them down into low-level vector calculations.

Coexists with Graph-Based Systems

You can combine it with Playmaker or Unity Visual Scripting without issues. GC2 excels at “quickly assembling common patterns”, while graph-based systems excel at “writing detailed control logic” — they complement each other.

Game Creator Hub

A community hub site (officially recommended) where Instructions / Conditions / Events are distributed for free. You can expand your vocabulary without any programming.


Actions (Instruction Lists)

Creation

  • Right-click in Hierarchy → Game Creator > Visual Scripting > Actions
  • Or add via Inspector → Add Component > Actions on an existing object
  • Delete via the gear icon → Remove Component

Adding Instructions

  • Click Add Instruction for a dropdown → select from categories or use the search bar to filter directly
  • Right-click an existing instruction → Insert Above / Insert Below to insert at any position

GC2 has its own index search that matches semantically similar results even with typos. For example, searching move will find not only Move Character but also Change Position.

Built-in Help

Right-click an instruction → Help to open a floating window with descriptions and parameter lists.

Execution Order

Instructions are executed sequentially from top to bottom. The next instruction does not run until the current one completes (instructions like Wait to Complete inherently wait). When the end of the list is reached, the Actions component finishes.

Debug Features

Right-clicking an instruction reveals the following toggles:

  • Disable Instruction: Disables the instruction (shown grayed out). Click again to re-enable
  • Breakpoint: Pauses the editor just before that instruction (editor only, does not affect builds)

Triggers (Event Listeners)

Creation

  • Right-click in Hierarchy → Game Creator > Visual Scripting > Trigger
  • Or Add Component > Trigger on an existing object

Basic Structure

A Trigger monitors a single Event and executes its internal Instructions list the moment it fires. The Instructions portion operates the same as Actions.

Changing the Event

Click the current Event name → select a different Event from the dropdown (Fuzzy Search enabled).

Representative Event Categories

  • Audio: Monitor volume changes
  • Cameras: Shot transitions
  • Characters: Input / combat / death / ragdoll, etc.
  • Input: Buttons, cursor, flick, touch
  • Interactive: On Interact / On Focus / On Blur
  • Lifecycle: On Start / On Update / On Interval, etc.
  • Logic: Hotspot activation, On Receive Signal
  • Physics: Collider Enter/Exit, collisions
  • Storage: Save, load, delete
  • UI: Selection, hover
  • Variables: Variable change monitoring

Conditions (Conditional Branching)

Conditions Component Structure

  • Evaluates Branches from top to bottom
  • Each Branch holds a “Conditions (condition list)” and an “Instructions (instruction list)”
  • If all conditions in the list are true, that Branch’s instructions execute and processing ends
  • If any condition returns false, it moves to the next Branch
  • An empty condition list always succeeds (can be used as a default branch)

Adding and Reordering Branches

  • Add Branch adds to the end
  • Drag the = on the right to reorder
  • Use the Description field for memo-style labels (does not affect logic)

Condition Negation

The green toggle on the left of each Condition applies NOT. For example: NOT on Is Player Moving returns true when the player is stationary.

Creation

  • Right-click in Hierarchy → Game Creator > Visual Scripting > Conditions
  • Or Add Component > Conditions

Hotspots (Interaction Visualization)

Overview

Hotspots are presentation components that do not directly affect gameplay. They provide mechanisms to indicate interactable objects to the player through visuals, sound, and character attention.

For example, you can highlight an object when the player approaches, or make a character’s head turn toward an important object.

Generally, Triggers and Hotspots are placed together. The Trigger handles the actual interaction logic, while the Hotspot signals to the player that the object is interactable.

Components

The Hotspot component consists of a Target field and a Mode. Target is the object to track, and Mode determines when the Hotspot responds.

Mode (4 Types)

ModeBehavior
RadiusResponds when the Target enters a specified radius. A numeric radius field is displayed
On Interaction FocusResponds when the Target’s Interaction system focuses on the Hotspot
On Interaction ReachResponds when within the Target’s Interaction system reach, but focus is on another object
Always ActiveAlways responds regardless of distance from the Target

On Interaction Focus and On Interaction Reach require the Target to have a Character component.

Gizmos and Debug

  • Editor: Selecting a Radius mode Hotspot displays a red gizmo in the scene showing the response distance
  • Runtime: The gizmo is displayed in a lighter color, turning green when the Target activates the Hotspot

Distance Check Mechanism

Hotspot distance checks do not use Unity’s physics engine. It uses a simple distance calculation between the Hotspot’s center and the Target’s position, so a Collider component is not required.

How to Create

  • Right-click in Hierarchy → Game Creator > Visual Scripting > Hotspot to create as a scene object
  • Or add Add Component > Hotspot to an existing GameObject

Spots (Presentation Elements)

Spots are individual presentation units that define what happens when a Hotspot is activated/deactivated. Add them via the Add Spot button dropdown.

  • Evaluated from top to bottom
  • Multiple Spots of the same type can be placed, but when effects overlap, the later one overrides

Audio > Play Sound

Plays a UI sound effect when the Hotspot is activated/deactivated.

Characters > Look At

When the Hotspot is activated, the Character looks at the Hotspot’s center, and smoothly looks away when deactivated. Works with the Character’s IK (Look at Target rig) to rotate head, neck, chest, and spine.

Game Objects > Activate Object

When the Hotspot is activated, it enables an existing GameObject instance in the scene, and hides it when deactivated.

Game Objects > Instantiate Prefab

When the Hotspot is activated, it instantiates (or enables) a Prefab GameObject, and hides it when deactivated.

Materials > Change Material

Switches materials based on whether the Hotspot is active or inactive. Useful for object highlighting effects.

UI > Change Text

Overwrites the value of a specified Text component.

UI > Cursor

Changes the cursor image when hovering over the Hotspot.

UI > Show Floating Text

When the Hotspot is activated, displays text on a world-space canvas, and hides it when deactivated. Uses a default UI if no Prefab is specified.

Instruction:

  • Activate Hotspots (Visual Scripting category): Toggles Hotspot activation/deactivation by type

Event:

  • On Hotspot Activate (Logic category): Fires when the associated Hotspot is activated
  • On Hotspot Deactivate (Logic category): Fires when the associated Hotspot is deactivated

Properties (Common Dynamic Value System)

Many instructions, conditions, and events support dynamic selection of field values via dropdowns. This is the Property feature.

  • Example: PropertyGetPosition can dynamically select from “constant Vector3”, “Player position”, “Main Camera position”, “Local Variable”, “Nested Access”, etc.
  • Provided as PropertyGetXXX classes from scripts
  • This allows switching between “hardcoded coordinates” and “runtime-determined coordinates” in the UI

Debug Support Summary

FeatureTargetUsage
DisableInstruction / BranchRight-click → Disable
BreakpointInstructionRight-click → Breakpoint (editor only)
Fuzzy SearchAdd Instruction / Add Condition / Event switchCatches typos and synonyms
Built-in HelpAny nodeRight-click → Help
Hub IntegrationNode paletteGet additional instructions from the community

Creating Custom Instructions / Conditions / Events with Scripts

Programmers can write custom nodes in C#. Generate templates via Project right-click → Create > Game Creator > Developer > C# Event (or Instruction / Condition).

Event Example (Custom Event)

using System;
using GameCreator.Runtime.VisualScripting;

[Serializable]
public class MyEvent : Event
{
    protected override void OnStart(Trigger trigger)
    {
        base.OnStart(trigger);
        _ = trigger.Execute(this.Self);
    }
}
  • The parent class Event has many virtual methods similar to MonoBehaviour (OnAwake / OnStart / OnEnable, etc.). See Event.cs for details
  • Triggers fire via trigger.Execute(target). The return value is an async Task
    • Fire-and-forget: _ = trigger.Execute(this.Self);
    • Await completion: await trigger.Execute(this.Self);
  • target is the GameObject treated as the “Target” for the executed Instructions

Decoration Attributes

C# attributes to make nodes easier to work with in Visual Scripting.

AttributeMeaningExample
[Title("Name")]Node title (auto-generated from class name if unspecified)[Title("Hello World")]
[Description("...")]Description (used in Hub overview)
[Image(typeof(IconCubeSolid), Color.red)]Icon and color
[Category("Cat/Sub/Name")]Submenu hierarchy
[Version(major, minor, patch)]Semantic version (must increment for Hub updates)[Version(1, 5, 3)]
[Parameter("Name", "Description")]Public field description (can be applied multiple times)
[Keywords("hide")]Additional keywords for Fuzzy Search
[Example("...")] / [Example(@"multiline")]Usage examples. Markdown syntax recommended
[Dependency("gamecreator.inventory", 1, 5, 2)]Required module specification (blocked in Hub if not owned)

Prerequisites for Sharing Custom Events on the Hub

When publishing to the Hub, properly setting Title / Version / Description / Keywords / Dependency is essential to avoid searchability and compatibility issues for users.


Instructions — Full List: 312 Core Types

Categories match the Visual Scripting dropdown hierarchy as-is. Module-specific instructions (Inventory, Dialogue, Stats, Quests, Behavior, Perception, Shooter, Melee) are covered in their respective asset articles — only core instructions are listed here.

Animations (8)

InstructionDescriptionMain Parameters
Change Animator FloatChanges an Animator Float parameter valueParameter Name / Value / Duration / Easing / Wait to Complete / Animator
Change Animator IntegerChanges an Animator Integer parameter valueParameter Name / Value / Duration / Easing / Wait to Complete / Animator
Change Animator LayerChanges an Animator layer weightLayer Index / Weight / Duration / Easing / Wait to Complete / Animator
Change Blend ShapeChanges a Blend Shape parameter valueSkinned Mesh / Blend Shape / Value / Duration / Easing / Wait to Complete
Play Animation ClipPlays an Animation Clip on an AnimatorAnimation Clip / Animator
Set AnimationSets an Animation Clip valueTo / Animation Clip
Set Animator BooleanSets an Animator Bool parameterParameter Name / Value / Animator
Set Animator TriggerSets an Animator Trigger parameterParameter Name / Animator

Application (2 + Cursor 3)

InstructionDescriptionMain Parameters
Open Web PageOpens a web page in the default browserURL
Quit ApplicationQuits the application
Cursor TextureChanges the hardware cursor imageTexture / Tip / Mode
Cursor VisibilityShows/hides the hardware cursorIs Visible
Lock CursorSets the pointer lock modeLock Mode

Audio (21)

InstructionDescriptionMain Parameters
Audio Mixer ParameterChanges an exposed Audio Mixer parameterAudio Mixer / Parameter Name / Parameter Value
Audio Source PitchChanges Audio Source pitchAudio Source / Pitch / Transition
Audio Source VolumeChanges Audio Source volumeAudio Source / Volume / Transition
Change Ambient VolumeChanges Ambient volumeVolume
Change Master VolumeChanges Master volume (affects all channels)Volume
Change Music VolumeChanges Music volumeVolume
Change SnapshotSmoothly transitions to an Audio SnapshotSnapshot / Transition
Change Sound Effects VolumeChanges Sound Effects volumeVolume
Change Speech VolumeChanges Speech volumeVolume
Change UI VolumeChanges UI volumeVolume
Fade All AmbientStops all Ambient tracksWait To Complete / Transition Out
Fade All MusicStops all Music tracksWait To Complete / Transition Out
Play AmbientLoop-plays an Audio Clip (for background sounds)Audio Clip / Transition In / Spatial Blending / Target
Play MusicLoop-plays an Audio Clip (for BGM)Audio Clip / Transition In / Spatial Blending / Target
Play Sound EffectPlays an Audio Clip SE onceAudio Clip / Wait To Complete / Pitch / Transition In / Spatial Blending / Target
Play SpeechPlays an Audio Clip voice onceAudio Clip / Wait To Complete / Spatial Blending / Target
Play UI SoundPlays a UI sound effect for screen presentationAudio Clip / Wait To Complete / Pitch / Spatial Blending / Target
Stop AmbientStops a playing Ambient trackAudio Clip / Wait To Complete / Transition Out
Stop MusicStops a playing Music trackAudio Clip / Wait To Complete / Transition Out
Stop Sound EffectStops a sound effect
Stop Speech On Game ObjectStops Speech on a specified GameObjectTarget

Cameras (3 + Sub 35)

Root: Change To Shot / Revert To Previous Shot / Set Main Shot. See the Camera System article for details.

Characters (Core 67)

See the Character System article for details.

Debug (8 + Console 5 + Gizmos 1)

InstructionDescriptionMain Parameters
BeepPlays a beep from the PC’s internal speaker
Clear ConsoleClears console messages
CommentDisplays a comment in the Instructions list (does nothing at runtime)Text
Frame StepAdvances one frame while editor is paused
Log NumberOutputs a numeric message to the consoleNumber
Log TextOutputs a text message to the consoleMessage
Pause EditorPauses the Unity editor (editor only)
Toggle ConsoleToggles the console window display
Console CloseCloses the runtime console
Console CommandExecutes a console commandCommand
Console OpenOpens the runtime console
Console TextOutputs text to the runtime consoleMessage
Console ToggleToggles the runtime console display
Gizmo LineDraws a line gizmo in the scene view

Game Objects (8 + Components 8 + Pooling 2)

InstructionDescriptionMain Parameters
Change LayerChanges a GameObject’s layerLayer / Children Too / Game Object
Change NameChanges a GameObject’s nameName / Game Object
Change TagChanges a GameObject’s TagTag / Game Object
DestroyDestroys a GameObject instanceGame Object
InstantiateCreates a new GameObject instanceGame Object / Position / Rotation / Save
Set ActiveChanges a GameObject’s active stateGame Object
Set Game ObjectSets a GameObject value to anotherSet / From
Toggle ActiveToggles a GameObject’s active stateGame Object
Add ComponentAdds a componentGame Object
Disable/Enable ColliderEnables/disables a ColliderGame Object
Disable/Enable ComponentEnables/disables a componentGame Object
Disable/Enable RendererEnables/disables a RendererGame Object
Remove ComponentRemoves a componentGame Object
Pool DestroyDestroys a GameObject poolGame Object
Pool PrewarmPreallocates pool instancesGame Object / Pool Size

Input (6)

InstructionDescriptionMain Parameters
Disable Input ActionDisables an Input ActionInput Asset
Disable Input MapDisables an Input MapInput Asset
Display Touchstick LeftShows/hides the left touch stickShow
Display Touchstick RightShows/hides the right touch stickShow
Enable Input ActionEnables an Input ActionInput Asset
Enable Input MapEnables an Input MapInput Asset

Lights (2)

InstructionDescriptionMain Parameters
Light ColorSmoothly changes a light’s colorColor / Light / Duration / Easing / Wait to Complete
Light IntensitySmoothly changes a light’s intensityIntensity / Light / Duration / Easing / Wait to Complete

Math > Arithmetic (13)

InstructionDescriptionMain Parameters
Absolute NumberGets the absolute valueSet / Number
Add NumbersAdds two valuesSet / Value 1 / Value 2
Clamp NumberClamps a value within a rangeSet / Value / Minimum / Maximum
CosineSets a cosine valueSet / Cosine
Divide NumbersDividesSet / Value 1 / Value 2
Increment NumberAdds a value and assigns to itselfSet / Value
Modulus NumbersModulus operationSet / Value 1 / Value 2
Multiply NumbersMultipliesSet / Value 1 / Value 2
Set NumberAssigns a valueSet / From
Sign Of NumberGets the sign (-1 or 1)Set / Number
SineSets a sine valueSet / Sine
Subtract NumbersSubtractsSet / Value 1 / Value 2
TangentSets a tangent valueSet / Tangent

Math > Boolean (6)

InstructionDescriptionMain Parameters
And BoolAND operationSet / Value 1 / Value 2
Nand BoolNAND operationSet / Value 1 / Value 2
Nor BoolNOR operationSet / Value 1 / Value 2
Or BoolOR operationSet / Value 1 / Value 2
Set BoolAssigns a Boolean valueSet / From
Toggle BoolToggles a Boolean valueSet / From

Math > Geometry (23)

InstructionDescriptionMain Parameters
Add DirectionsAdds direction vectorsSet / Direction 1 / Direction 2
Add PointsAdds position vectorsSet / Point 1 / Point 2
ClampClamps each component of a Vector3Set / Value / Minimum / Maximum
Cross ProductCalculates cross productSet / Direction 1 / Direction 2
DistanceCalculates distance between two pointsSet / Point 1 / Point 2
Dot ProductCalculates dot productSet / Direction 1 / Direction 2
NormalizeNormalizes a direction vectorSet / From
Project On PlaneProjects onto a planeSet / Direction / Plane Normal
Reflect On PlaneReflects on a planeSet / Direction / Plane Normal
Remap CoordinatesRemaps each component of a Vector3Value / X / Y / Z
Scale ProductComponent-wise multiplicationSet / Direction 1 / Direction 2
Set DirectionSets a direction vectorSet / From
Set PointSets a position vectorSet / From
Set Vector X/Y/ZSets individual componentsSet / X or Y or Z
Subtract DirectionsSubtracts direction vectorsSet / Direction 1 / Direction 2
Subtract PointsSubtracts position vectorsSet / Point 1 / Point 2
Transform To Local/World Direction/PointLocal ↔ World conversionSet / Transform / Direction or Point
Uniform ScaleMultiplies all components by the same valueSet / Vector / Value

Math > Shading (4)

InstructionDescriptionMain Parameters
Lerp ColorInterpolates between two colors over timeColor 1 / Color 2 / Duration / Easing / Wait to Complete / Set
Lerp LightnessInterpolates lightness over timeLightness / Duration / Easing / Wait to Complete / Set
Lerp SaturationInterpolates saturation over timeSaturation / Duration / Easing / Wait to Complete / Set
Set ColorSets a Color valueColor / Set

Math > Text (4)

InstructionDescriptionMain Parameters
JoinConcatenates two stringsText 1 / Text 2 / Set
ReplaceReplaces a stringText / Old Text / New Text / Set
Set TextChanges a string valueText / Set
SubstringExtracts a substringText / Index / Length / Set

Physics 2D (6)

InstructionDescriptionMain Parameters
Add Explosion Force 2DApplies explosion simulation forceRigidbody / Origin / Radius / Force / Force Mode
Add Force 2DApplies force to a Rigidbody2DRigidbody / Direction / Force / Force Mode
Change Mass 2DChanges Rigidbody2D massRigidbody / Mass
Change Velocity 2DChanges Rigidbody2D velocityRigidbody / Velocity
Gravity Scale 2DChanges gravity scaleRigidbody / Gravity Scale
Is Kinematic 2DChanges Kinematic stateRigidbody / Is Kinematic

Physics 3D (11)

InstructionDescriptionMain Parameters
Add Explosion Force 3DApplies explosion simulation forceRigidbody / Origin / Radius / Force / Force Mode
Add Force 3DApplies force to a RigidbodyRigidbody / Direction / Force / Force Mode / Space Mode
Change Mass 3DChanges Rigidbody massRigidbody / Mass
Change Velocity 3DChanges Rigidbody velocityRigidbody / Velocity
Is Kinematic 3DChanges Kinematic stateRigidbody / Is Kinematic
Overlap Box/Circle/SphereGets colliders within a specified shapeCenter / Size or Radius / Store In / Layer Mask
Trace Line 3DGets colliders along a line segmentPoint A / Point B / Store In / Layer Mask
Use Gravity 3DEnables/disables gravityRigidbody / Use Gravity

Renderer (5)

InstructionDescriptionMain Parameters
Change Material ColorChanges a material’s Color property over timeProperty / Color / Duration / Easing / Wait to Complete / Renderer
Change Material FloatChanges a material’s Float property over timeProperty / Float / Duration / Easing / Wait to Complete / Renderer
Change Material TextureChanges a material’s main textureTexture / Renderer
Change MaterialChanges the material itselfMaterial / Renderer
Change SpriteSets a Sprite valueTo / Sprite

Scenes (2)

InstructionDescriptionMain Parameters
Load SceneLoads a new sceneScene / Mode / Async / Scene Entries
Unload SceneUnloads the active sceneScene

Storage (5)

InstructionDescriptionMain Parameters
Delete GameDeletes saved game dataSave Slot
Load GameLoads a saved game stateSave Slot
Load Latest GameLoads the most recent save data
Reset GameResets the game to default valuesScene
Save GameSaves the current game stateSave Slot

Time (3)

InstructionDescriptionMain Parameters
Time ScaleChanges the game’s TimeScaleTime Scale / Blend Time / Layer
Wait FramesWaits for a specified number of framesFrames
Wait SecondsWaits for a specified number of secondsSeconds / Mode

Transforms (6)

InstructionDescriptionMain Parameters
Change PositionChanges position over timePosition / Space / Duration / Easing / Wait to Complete / Transform
Change RotationChanges rotation over timeRotation / Space / Duration / Easing / Wait to Complete / Transform
Change ScaleChanges local scale over timeScale / Duration / Easing / Wait to Complete / Transform
Clear ParentRemoves the parent objectTransform
Look AtFaces a specified targetTarget / Transform
Set ParentChanges the parent objectParent / Transform

UI (16)

InstructionDescriptionMain Parameters
Canvas Group AlphaChanges Canvas Group opacityCanvas Group / Alpha / Duration / Easing / Wait to Complete
Canvas Group Block RaycastsToggles raycast blockingCanvas Group / Block Raycasts
Canvas Group InteractableToggles interactable stateCanvas Group / Interactable
Change DropdownChanges a Dropdown valueText / Index
Change Font SizeChanges font sizeText / Size
Change Graphic ColorChanges Graphic ColorGraphic / Color
Change HeightChanges RectTransform heightRect Transform / Height
Change ImageChanges an Image’s SpriteOverride Sprite / Image / Sprite
Change Input FieldChanges an InputField valueInput Field / Value
Change SliderChanges a Slider valueSlider / Value
Change TextChanges a Text valueText / Value
Change ToggleChanges a Toggle valueToggle / Value
Change WidthChanges RectTransform widthRect Transform / Width
Focus OnFocuses on a specific UI elementFocus On
SubmitSubmits
UnfocusRemoves focus

Variables (16)

See the Variables article for details.

Visual Scripting (12)

InstructionDescriptionMain Parameters
Activate HotspotsToggles Hotspot activation by typeType / Active
Broadcast MessageCalls a method on a GameObjectGame Object / Message / Send Upwards
Check ConditionsSkips remaining Instructions if conditions are falseConditions / Mode
Emit SignalEmits a signalSignal
Invoke MethodCalls a script methodMethod
Restart InstructionsRe-executes Instructions from the beginning
Run ActionsExecutes another Actions componentActions / Wait Until Complete
Run ConditionsExecutes another Conditions componentConditions / Wait Until Complete
Run TriggerExecutes another Trigger componentTrigger / Wait Until Complete
Stop ActionsStops running ActionsActions
Stop ConditionsStops running ConditionsConditions
Stop TriggerStops a running TriggerTrigger

Module-specific additional instructions (reference): Inventory (36) / Dialogue (4) / Stats (12) / Quests (9) / Behavior (3) / Perception (13) / Shooter (17) / Melee (19). See each asset’s article for details.


Conditions — Full List: 80 Core Types

Audio (6)

ConditionDescriptionMain Parameters
Is Ambient/Music/Sound Effect/Speech/UI PlayingTrue if the specified Audio Clip is playingAudio Clip
Is Speech Target PlayingTrue if the specified GameObject is playing speechTarget

Cameras (1)

ConditionDescriptionMain Parameters
Is Shot ActiveTrue if the Camera Shot is assigned to the Main CameraShot

Characters (29)

See the Character System article for details.

Game Objects (7)

ConditionDescriptionMain Parameters
Compare Game ObjectsCompares if they are the same GameObjectGame Object / Compare To
Compare LayerWhether it belongs to a layer maskGame Object / Layer Mask
Compare TagWhether the specified tag is attachedGame Object / Tag
Does Component ExistWhether the component existsGame Object / Component
Does Game Object ExistWhether the GameObject is not nullGame Object
Is Component EnabledWhether the component is enabledGame Object / Component
Is Game Object ActiveWhether the GameObject is activeGame Object

Input (9)

ConditionDescriptionMain Parameters
Is Input Held Down/Pressed/ReleasedChecks the Input Action button stateInput
Is Key Held Down/Pressed/ReleasedChecks the keyboard key stateKey
Is Mouse Held Down/Pressed/ReleasedChecks the mouse button stateButton

Math > Arithmetic (2)

ConditionDescriptionMain Parameters
Compare DecimalCompares decimal valuesValue / Comparison / Compare To
Compare IntegerCompares integer valuesValue / Comparison / Compare To

Math > Boolean (3)

ConditionDescriptionMain Parameters
Always FalseAlways false
Always TrueAlways true
Compare BooleanCompares Boolean valuesValue / Comparison / Compare To

Math > Geometry (5)

ConditionDescriptionMain Parameters
Compare DirectionCompares direction vectorsValue / Comparison / Compare To
Compare Distance FlatCompares XZ plane distancePoint A / Point B / Comparison / Distance
Compare Distance VerticalCompares vertical distancePoint A / Point B / Comparison / Distance
Compare DistanceCompares distance between two pointsPoint A / Point B / Comparison / Distance
Compare PointCompares position vectorsValue / Comparison / Compare To

Physics (9)

ConditionDescriptionMain Parameters
Check Box 2D/3DBox shape collision checkPosition / Size / Layer Mask
Check CapsuleCapsule shape collision checkPosition / Height / Radius / Layer Mask
Check Character 3D FitsWhether a character fits in a new sizeCharacter / Height / Radius / Layer Mask
Check Circle/SphereCircle/sphere shape collision checkPosition / Radius / Layer Mask
Is KinematicWhether in Kinematic stateGame Object
Is SleepingWhether the Rigidbody is sleepingGame Object
Raycast 2D/3DRaycast check between two pointsSource / Target / Layer Mask

Platforms (5)

ConditionDescription
Check PlatformChecks the current platform
Is Batch ModeWhether running in batch mode
Is ConsoleWhether it’s a console platform
Is EditorWhether inside the Unity editor
Is MobileWhether it’s a mobile platform

Scenes (1)

ConditionDescriptionMain Parameters
Is Scene LoadedWhether the scene is loadedScene

Storage (2)

ConditionDescriptionMain Parameters
Has Save At SlotWhether a save exists at the specified slotSave Slot
Has SaveWhether save data exists

Text (2)

ConditionDescriptionMain Parameters
Text ContainsWhether a string is containedText / Substring
Text EqualsWhether strings matchText 1 / Text 2

Transforms (3)

ConditionDescriptionMain Parameters
Child CountCompares the number of direct child objectsTarget / Comparison / Compare To
Is Child OfWhether it is a child objectChild / Parent
Is Sibling OfWhether they are sibling objectsSibling A / Sibling B

Variables (1)

ConditionDescriptionMain Parameters
List Is EmptyWhether a List Variable is emptyList Variables

Visual Scripting (2)

ConditionDescriptionMain Parameters
Conditions As AndEvaluates nested Conditions with ANDConditions
Run Conditions As OrEvaluates nested Conditions with ORConditions

Events — Full List: 50 Core Types

Audio (6)

EventTrigger Timing
On Change Ambient/Master/Music/Sound Effects/Speech/UI VolumeWhen each channel’s volume changes

Cameras (3)

EventTrigger Timing
On Camera ChangeThe moment the Camera’s Shot switches
On Change From ShotThe moment this Shot is deactivated
On Change To ShotThe moment this Shot is activated

Characters (17)

See the Character System article for details.

Input (4)

EventTrigger TimingMain Parameters
On Cursor ClickWhen a mouse button is clickedButton / Min Distance
On Input ButtonWhen a KB/Gamepad/Mouse button is operatedButton / Min Distance
On Input FlickWhen a Vector2 input is flickedValue / Compare / Min Distance
On TouchTouch screen finger tapMin Distance

Interactive (3)

EventTrigger TimingMain Parameters
On BlurWhen focus is lost
On FocusWhen focused
On InteractWhen interacted withUse Raycast

Lifecycle (13)

EventTrigger TimingMain Parameters
On App FocusWhen the application is focused
On App PauseWhen the application is paused
On App QuitWhen the application is about to quit
On Become InvisibleWhen the Renderer becomes invisible
On Become VisibleWhen the Renderer becomes visible
On DisableWhen the GameObject is deactivated
On EnableWhen the GameObject is activated
On Fixed UpdateFires every FixedUpdate
On IntervalFires periodically at a specified intervalTime Mode / Interval
On InvokeWhen Invoke() is called from a script
On Late UpdateFires every LateUpdate
On StartFires once at scene start
On UpdateFires every Update

Logic (3)

EventTrigger TimingMain Parameters
On Hotspot ActivateWhen the Hotspot is activated
On Hotspot DeactivateWhen the Hotspot is deactivated
On Receive SignalWhen a signal with the specified ID is receivedSignal

Physics (7)

EventTrigger TimingMain Parameters
On Collide ExitWhen a collision ends
On CollideWhen a collision occurs
On Trigger Enter TagWhen a GameObject with a specific tag enters the triggerTag
On Trigger EnterWhen a GameObject enters the trigger
On Trigger Exit TagWhen a GameObject with a specific tag exits the triggerTag
On Trigger ExitWhen a GameObject exits the trigger
On Trigger StayContinuously fires while a GameObject is inside the trigger

Storage (3)

EventTrigger Timing
On DeleteWhen a save is deleted
On LoadWhen a game is loaded
On SaveWhen a game is saved

UI (4)

EventTrigger Timing
On DeselectWhen a UI element is deselected
On Hover EnterWhen hovering over a UI element
On Hover ExitWhen hover leaves a UI element
On SelectWhen a UI element is selected

Variables (4)

EventTrigger Timing
On Global List Variable ChangeWhen a Global List variable changes
On Global Name Variable ChangeWhen a Global Name variable changes
On Local List Variable ChangeWhen a Local List variable changes
On Local Name Variable ChangeWhen a Local Name variable changes

Hotspot Spots — Full List

Presentation units that activate when a Hotspot is enabled/disabled. Add via the Add Spot button. Evaluated from top to bottom — when the same type of Spot overlaps, the later one overrides.

SubcategorySpotOn ActivationOn Deactivation
AudioPlay SoundPlays a UI sound effectPlays a UI sound effect
CharactersLook AtCharacter looks at the Hotspot’s centerSmoothly looks away
Game ObjectsActivate ObjectEnables a GameObject instance in the sceneDisables it
Game ObjectsInstantiate PrefabInstantiates or enables a PrefabDisables it
MaterialsChange MaterialSwitches to the specified materialReverts to the original material
UIChange TextOverwrites the Text component value
UICursorChanges the cursor imageReverts to the original cursor
UIShow Floating TextDisplays text on a world-space canvasHides the text

Practical Usage — Configuration Guide by Use Case

Key Press → Display Message

  1. Create a Trigger → set Event to On Input Button
  2. Set the Button to an InputAction equivalent to “Space”
  3. Add Log Text or Play UI Sound to Instructions

Player Approaches → NPC Turns to Face

  1. Add a Hotspot (Mode=Radius) to the NPC, Target=Player
  2. Add Characters > Look At as a Spot on the Hotspot
  3. When within radius, the character’s head turns toward the NPC

Branch by Gold (Classic RPG)

  1. Place a Conditions component
  2. Branch 1: Compare Wealth >= 500Instruction: Purchase processing
  3. Branch 2: Empty condition → Instruction: "You can't afford this" message

Periodic Event to Reduce Enemy HP

  1. Create a Trigger → Event=On Interval, Interval=1
  2. Add a Stats module instruction to Change Stat HP by -1

Loose Coupling with Signals

  • Sender: Use the Emit Signal instruction to broadcast "boss-defeated"
  • Receiver: A separate Trigger with Event=On Receive Signal, ID="boss-defeated"
  • Since neither side holds a reference to the other, this design is easy to prefab and reuse

Tips and Notes

  • Make use of Properties: Instead of fixed values, selecting “Player position”, “Local Variable”, etc. makes prefabbing and reuse dramatically easier
  • Empty Conditions always return true: When you want a “default branch” in a Conditions component, leave the last Branch’s conditions empty
  • Disable and Breakpoint are editor-only: Breakpoints are ignored in builds. Use Log Text / Log Number for logs
  • Signal vs. direct reference: Use Signals for loose coupling. Use direct references when two objects are reliably linked during their lifetime
  • Run Actions / Run Conditions / Run Trigger: Since these can call other components, you can prefab common logic and call it from anywhere


Summary

In this article, we covered Visual Scripting in Game Creator 2.

Visual Scripting is a system that lets you build game logic with 4 components — Actions, Triggers, Conditions, and Hotspots — using a task list approach different from node graph systems.

The core alone provides 312 Instructions, 80 Conditions, and 50 Events, and adding modules further expands your vocabulary. With debug support features like Fuzzy Search, built-in help, and breakpoints, efficient development is possible.

Complete Article List — Game Creator 2 Complete Guide Series Indexen.senkohome.com/gamecreator2-series-index/

We hope you’ll check out our other articles as well.