Skip to content

System Events

PlayMaker > Browsers > System Events

System Events are built-in events sent by Unity or PlayMaker systems.
Most standard MonoBehaviour events are exposed as System Events.

PlayMaker uses these categories to organize the events:


Gameplay

Pause System

Pause events are sent by PlayMaker Pause System

OnGamePaused

Sent when the Pause System enters the paused state.

OnGameResumed

Sent when the Pause System resumes the game.

Interactables

Interact events are sent by the PlayMaker Interactables System. They are sent to FSMs on the Interactable target GameObject and the actor GameObject by the Interactor component.

OnInteractAvailable

Sent when an Interactable becomes available to the actor.

OnInteractUnavailable

Sent when an Interactable is no longer available to the actor.

OnInteractFocus

Sent when an Interactable becomes the current interaction target.

OnInteractLostFocus

Sent when an Interactable stops being the current interaction target.

OnInteractStart

Sent when an interaction begins.

OnInteract

Sent when the interaction is activated.

OnInteractEnd

Sent when the interaction ends.


Lifecycle

Lifecycle events are called at specific points in a component’s lifetime - from activation, to application exit.

Start

Sent when the FSM starts running, entering its Start State.

OnDisable

Called when the behaviour becomes disabled or inactive.

OnApplicationFocus

Sent when the application gains focus.

OnApplicationLostFocus

Sent when the application loses focus.

OnApplicationPause

Sent when the application is paused.

OnApplicationUnPause

Sent when the application resumes from a paused state.

OnApplicationQuit

Called before the application quits.

OnBecameVisible

Sent when the GameObject becomes visible to any camera.

OnBecameInvisible

Sent when the GameObject is no longer visible to any camera.

OnTransformParentChanged

Sent when the GameObject’s parent changes.

OnTransformChildrenChanged

Sent when the list of children of the GameObject changes.


Mouse

Mouse events are sent in response to pointer movement and button actions over a GameObject with a Collider (or Collider2D). They are not sent for objects on the Ignore Raycast layer.

OnMouseDown

Sent when the mouse button is pressed while over the GameObject’s Collider.

OnMouseUp

Sent when the mouse button is released. May fire even if the release is not over the same Collider.

OnMouseUpAsButton

Sent only if the mouse is released over the same Collider it was pressed on.

OnMouseEnter

Sent when the mouse cursor enters the Collider.

OnMouseOver

Sent every frame while the mouse cursor is over the Collider.

OnMouseExit

Sent when the mouse cursor leaves the Collider.

OnMouseDrag

Sent every frame while the mouse is held down after clicking a Collider.

Input System

Note: In projects using Input System Only, PlayMaker emulates Unity’s legacy OnMouseXXX behavior via a single global mouse bridge. This adds at most one raycast per frame and is generally very cheap, but is primarily intended as a convenience/compatibility feature. For advanced or UI-heavy pointer workflows, prefer dedicated Input System actions instead of MOUSE system events.


Particles

Particle events are sent when particles from a ParticleSystem interact with Colliders.

OnParticleCollision

Sent when a particle from a ParticleSystem hits a Collider. Message is sent to scripts on the Particle System and the hit Collider.


Physics

Physics events are sent by the 3D physics engine when GameObjects with Colliders and/or Rigidbodies interact.

OnCollisionEnter

Sent when this Collider/Rigidbody first contacts another Collider/Rigidbody.

OnCollisionStay

Sent once per physics step for ongoing collisions.

OnCollisionExit

Sent when this Collider/Rigidbody stops touching another Collider/Rigidbody.

OnTriggerEnter

Sent when another Collider enters a trigger.

OnTriggerStay

Sent once per physics step while another Collider remains inside a trigger.

OnTriggerExit

Sent when another Collider exits a trigger.

OnControllerColliderHit

Sent when a CharacterController hits a Collider during CharacterController.Move.

OnJointBreak

Sent when a 3D Joint attached to the same GameObject breaks.


Physics2D

Physics2D events are sent by the 2D physics engine when GameObjects with Collider2D and/or Rigidbody2D components interact.

OnCollisionEnter2D

Sent when this Collider2D first contacts another Collider2D.

OnCollisionStay2D

Sent once per physics step for ongoing 2D collisions.

OnCollisionExit2D

Sent when this Collider2D stops touching another Collider2D.

OnTriggerEnter2D

Sent when another Collider2D enters a trigger.

OnTriggerStay2D

Sent once per physics step while another Collider2D remains inside a trigger.

OnTriggerExit2D

Sent when another Collider2D exits a trigger.

OnJointBreak2D

Sent when a 2D Joint attached to the same GameObject breaks. NOTE: The event will not fire if the Joint2D Break Action is set to Ignore. Use CallbackOnly, Disable, or Destroy.


UI Events

These events are sent by Unity when you interact with UI elements, such as Buttons, Sliders, ScrollViews, or other objects set up to receive pointer or navigation input.

Note

UI Events require an EventSystem in the scene and an object that can receive UI input -
typically a UI component (e.g., Button, Image, TextMeshPro element) or a GameObject with a Collider set to receive raycasts.

OnBeginDrag

Sent when a drag operation starts.

OnCancel

Sent when a cancel action occurs (e.g., Escape key or right-click).

OnDeselect

Sent when the object is deselected.

OnDrag

Sent repeatedly while dragging.

OnDrop

Sent when a dragged object is dropped on this object.

OnEndDrag

Sent when a drag operation ends.

OnMove

Sent when a move event occurs (e.g., keyboard or controller navigation between UI elements).

OnInitializePotentialDrag

Sent when a potential drag is about to start.

OnPointerClick

Sent when a pointer (mouse, touch, pen) clicks on this object.

OnPointerDown

Sent when a pointer presses down on this object.

OnPointerEnter

Sent when a pointer enters the object’s area.

OnPointerExit

Sent when a pointer leaves the object’s area.

OnPointerUp

Sent when a pointer releases over this object.

OnScroll

Sent when a scroll action occurs (e.g., mouse wheel or touchpad scroll) over this object.

OnSelect

Sent when the object is selected.

OnSubmit

Sent when a submit action occurs (e.g., pressing Enter or a controller button).

OnUpdateSelected

Sent every frame while the object is selected.