Skip to main content

Lua API Reference

Look up the functions, arguments, return values, and constants available in Polygon Engine 0.1.0-ea.2. Names are case-sensitive.

Optional parameters contain ?; semicolons separate arguments or multiple return values. Vec3 tables use x, y, and z. Input constants are provided by the runtime; do not infer their bit masks from a declaration placeholder.

Start with API Summary to choose a feature, or open its topic page for examples and usage guidance. Add lifecycle callbacks to a Lua Behaviour; the engine calls them at the corresponding stage of gameplay.

Lifecycle callbacks

CallbackParameters
AwakegameObjectId: integer
OnEnablegameObjectId: integer
StartgameObjectId: integer
FixedUpdategameObjectId: integer; fixedDeltaTime: number
UpdategameObjectId: integer; deltaTime: number
LateUpdategameObjectId: integer; deltaTime: number
OnCollisionEntergameObjectId: integer; otherGameObjectId: integer
OnCollisionStaygameObjectId: integer; otherGameObjectId: integer
OnCollisionExitgameObjectId: integer; otherGameObjectId: integer
OnTriggerEntergameObjectId: integer; otherGameObjectId: integer
OnTriggerStaygameObjectId: integer; otherGameObjectId: integer
OnTriggerExitgameObjectId: integer; otherGameObjectId: integer
OnDisablegameObjectId: integer
OnDestroygameObjectId: integer

Log

MethodParametersReturns
Log.Printmessage: anynone

Time

MethodParametersReturns
Time.DeltaTimenonenumber
Time.UnscaledDeltaTimenonenumber
Time.GetTimeScalenonenumber
Time.SetTimeScalescale: numberboolean

Transform

MethodParametersReturns
Transform.GetPositiongameObjectId: integerVec3|nil
Transform.SetPositiongameObjectId: integer; positionOrX: Vec3|number; y?: number; z?: numberboolean
Transform.GetPositionXgameObjectId: integernumber|nil
Transform.GetPositionYgameObjectId: integernumber|nil
Transform.GetPositionZgameObjectId: integernumber|nil
Transform.GetRotationgameObjectId: integerVec3|nil
Transform.SetRotationgameObjectId: integer; rotationOrX: Vec3|number; y?: number; z?: numberboolean
Transform.GetRotationXgameObjectId: integernumber|nil
Transform.GetRotationYgameObjectId: integernumber|nil
Transform.GetRotationZgameObjectId: integernumber|nil
Transform.GetScalegameObjectId: integerVec3|nil
Transform.SetScalegameObjectId: integer; scaleOrX: Vec3|number; y?: number; z?: numberboolean
Transform.GetScaleXgameObjectId: integernumber|nil
Transform.GetScaleYgameObjectId: integernumber|nil
Transform.GetScaleZgameObjectId: integernumber|nil
Transform.RotateXgameObjectId: integer; degrees: numberboolean
Transform.RotateYgameObjectId: integer; degrees: numberboolean
Transform.RotateZgameObjectId: integer; degrees: numberboolean
Transform.TranslategameObjectId: integer; x: number; y: number; z: numberboolean

GameObject

MethodParametersReturns
GameObject.Findname: stringinteger
GameObject.ExistsgameObjectId: integerboolean
GameObject.GetNamegameObjectId: integerstring|nil
GameObject.IsActivegameObjectId: integerboolean|nil
GameObject.SetActivegameObjectId: integer; active: booleanboolean
GameObject.InvokegameObjectId: integer; functionName: string; integerArg1?: integer; integerArg2?: integer; stringArg1?: string; stringArg2?: stringboolean
GameObject.CompareTaggameObjectId: integer; tag: stringboolean
GameObject.GetLayergameObjectId: integerinteger
GameObject.SetLayergameObjectId: integer; layer: integerboolean

Input

MethodParametersReturns
Input.GetButtonbuttonOrAction: integer|stringboolean
Input.GetButtonDownbuttonOrAction: integer|stringboolean
Input.GetButtonUpbuttonOrAction: integer|stringboolean
Input.GetAxisstickOrAction?: integer|stringnumber; number
Input.IsConnectednoneboolean
Input.HasAnalognoneboolean
Input.GetPadTypenoneinteger
Named valueType
Input.CROSSinteger
Input.CIRCLEinteger
Input.SQUAREinteger
Input.TRIANGLEinteger
Input.UPinteger
Input.DOWNinteger
Input.LEFTinteger
Input.RIGHTinteger
Input.STARTinteger
Input.SELECTinteger
Input.L1integer
Input.L2integer
Input.L3integer
Input.R1integer
Input.R2integer
Input.R3integer
Input.STICK_LEFTinteger
Input.STICK_RIGHTinteger

PlayerInput

MethodParametersReturns
PlayerInput.SetEnabledgameObjectId: integer; enabled: booleanboolean
PlayerInput.IsEnabledgameObjectId: integerboolean|nil

Rumble

MethodParametersReturns
Rumble.PlaylowFrequency?: number; highFrequency?: number; durationSeconds?: numberboolean
Rumble.Stopnonenone
Rumble.IsSupportednoneboolean

AudioSource

MethodParametersReturns
AudioSource.PlaygameObjectId: integerboolean
AudioSource.PlayOneShotgameObjectId: integerboolean
AudioSource.StopgameObjectId: integerboolean
AudioSource.SetVolumegameObjectId: integer; volume: numberboolean
AudioSource.SetPangameObjectId: integer; pan: numberboolean
AudioSource.IsPlayinggameObjectId: integerboolean

Music

MethodParametersReturns
Music.Playname: string; loop?: booleanboolean
Music.Stopnoneboolean
Music.SetVolumevolume: numberboolean
Music.IsPlayingnoneboolean

Camera

MethodParametersReturns
Camera.HasgameObjectId: integerboolean
Camera.GetActivenoneinteger
Camera.GetFieldOfViewgameObjectId: integernumber|nil
Camera.SetFieldOfViewgameObjectId: integer; degrees: numberboolean

Light

MethodParametersReturns
Light.HasgameObjectId: integerboolean
Light.GetDirectiongameObjectId: integerVec3|nil
Light.SetDirectiongameObjectId: integer; x: number; y: number; z: numberboolean
Light.GetColorgameObjectId: integerColorRgb|nil
Light.SetColorgameObjectId: integer; r: integer; g: integer; b: integerboolean
Light.GetIntensitygameObjectId: integernumber|nil
Light.SetIntensitygameObjectId: integer; intensity: numberboolean
Light.GetAmbientgameObjectId: integerColorRgb|nil
Light.SetAmbientgameObjectId: integer; r: integer; g: integer; b: integerboolean

Collider

MethodParametersReturns
Collider.HasgameObjectId: integerboolean
Collider.GetShapegameObjectId: integerinteger|nil
Collider.SetShapegameObjectId: integer; shape: integerboolean
Collider.IsTriggergameObjectId: integerboolean
Collider.SetIsTriggergameObjectId: integer; isTrigger: booleanboolean
Collider.GetSizegameObjectId: integerVec3|nil
Collider.SetSizegameObjectId: integer; x: number; y: number; z: numberboolean
Collider.GetRadiusgameObjectId: integernumber|nil
Collider.SetRadiusgameObjectId: integer; radius: numberboolean
Named valueType
Collider.ShapeBoxinteger
Collider.ShapeSphereinteger

Physics

MethodParametersReturns
Physics.IsCollidinggameObjectId: integer; otherGameObjectId?: integerboolean
Physics.GetCollisionCountgameObjectId: integerinteger
Physics.RaycastoriginX: number; originY: number; originZ: number; directionX: number; directionY: number; directionZ: number; maxDistance: number; layerMask?: integer; queryTriggers?: booleanboolean; integer; number; number; number; number; number; number; number

SceneManager

MethodParametersReturns
SceneManager.LoadScenescenePath: stringnone

Timeline

MethodParametersReturns
Timeline.Playname: string; options?: { OnComplete: fun() }boolean
Timeline.Stopnonenone
Timeline.IsPlayingnoneboolean

Animation

MethodParametersReturns
Animation.Playname: string; loopOrOptions?: boolean|{ Loop: boolean, OnComplete: fun() }boolean
Animation.Stopname?: stringnone
Animation.IsPlayingname?: stringboolean
MethodParametersReturns
NavMesh.FindPathstartX: number; startY: number; startZ: number; endX: number; endY: number; endZ: numbertable
NavMesh.SamplePositionx: number; y: number; z: number; maxDistance: number; surfaceGameObjectId?: integerboolean; number; number; number
MethodParametersReturns
NavMeshAgent.SetDestinationgameObjectId: integer; x: number; y: number; z: numberboolean
NavMeshAgent.StopgameObjectId: integernone
NavMeshAgent.IsMovinggameObjectId: integerboolean
NavMeshAgent.HasPathgameObjectId: integerboolean
NavMeshAgent.HasReachedDestinationgameObjectId: integerboolean
NavMeshAgent.IsOnNavMeshgameObjectId: integerboolean
NavMeshAgent.GetRemainingDistancegameObjectId: integernumber
NavMeshAgent.GetSpeedgameObjectId: integernumber
NavMeshAgent.GetPathStatusgameObjectId: integerinteger
Named valueType
NavMeshAgent.PathInvalidinteger
NavMeshAgent.PathCompleteinteger

Portal

MethodParametersReturns
Portal.SetOpenportalGameObjectId: integer; open: booleanboolean

UI

MethodParametersReturns
UI.Findname: stringinteger
UI.GetTypeelementId: integerinteger|nil
UI.GetCountnoneinteger
UI.DrawTextx: number; y: number; text: stringnone

Canvas

MethodParametersReturns
Canvas.Findname: stringinteger
Canvas.SetEnabledcanvasId: integer; enabled: booleanboolean
Canvas.IsEnabledcanvasId: integerboolean
Canvas.SetSortOrdercanvasId: integer; sortOrder: integerboolean
Canvas.GetCountnoneinteger

Text

MethodParametersReturns
Text.SetTextelementId: integer; text: stringboolean
Text.GetTextelementId: integerstring|nil

Image

MethodParametersReturns
Image.SetTextureelementId: integer; textureGuid: stringboolean
Image.GetTextureelementId: integerstring|nil

Button

MethodParametersReturns
Button.SetInteractableelementId: integer; interactable: booleanboolean
Button.IsInteractableelementId: integerboolean

RectTransform

MethodParametersReturns
RectTransform.SetPositionelementId: integer; x: number; y: numberboolean
RectTransform.GetPositionelementId: integernumber|nil; number|nil
RectTransform.SetSizeelementId: integer; width: number; height: numberboolean
RectTransform.GetSizeelementId: integernumber|nil; number|nil

Graphic

MethodParametersReturns
Graphic.SetColorelementId: integer; r: integer; g: integer; b: integer; a?: integerboolean
Graphic.GetColorelementId: integerinteger|nil; integer|nil; integer|nil; integer|nil
Graphic.SetEnabledelementId: integer; enabled: booleanboolean
Graphic.IsEnabledelementId: integerboolean

Selectable

MethodParametersReturns
Selectable.SelectelementId: integerboolean
Selectable.GetSelectednoneinteger

ProgressBar

MethodParametersReturns
ProgressBar.SetValueelementId: integer; value: numberboolean
ProgressBar.GetValueelementId: integernumber|nil

Interactable

MethodParametersReturns
Interactable.SetEnabledgameObjectId: integer; enabled: booleanboolean
Interactable.IsEnabledgameObjectId: integerboolean

TransformAnimator

MethodParametersReturns
TransformAnimator.PlaygameObjectId: integer; state?: stringboolean
TransformAnimator.StopgameObjectId: integerboolean
TransformAnimator.SetSpeedgameObjectId: integer; speed: numberboolean
TransformAnimator.IsPlayinggameObjectId: integerboolean
TransformAnimator.SetStategameObjectId: integer; state: stringboolean
TransformAnimator.GetStategameObjectId: integerstring|nil

Animator

MethodParametersReturns
Animator.PlaygameObjectId: integer; clipName: string; loop?: booleanboolean
Animator.StopgameObjectId: integerboolean
Animator.IsPlayinggameObjectId: integerboolean
Animator.GetClipgameObjectId: integerstring|nil
Animator.ConsumeFinishedgameObjectId: integerstring|nil

PlayerPrefs

MethodParametersReturns
PlayerPrefs.SetIntkey: string; value: integerboolean
PlayerPrefs.GetIntkey: string; defaultValue?: integerinteger
PlayerPrefs.SetFloatkey: string; value: numberboolean
PlayerPrefs.GetFloatkey: string; defaultValue?: numbernumber
PlayerPrefs.SetStringkey: string; value: stringboolean
PlayerPrefs.GetStringkey: string; defaultValue?: stringstring
PlayerPrefs.HasKeykey: stringboolean
PlayerPrefs.DeleteKeykey: stringboolean
PlayerPrefs.DeleteAllnoneboolean
PlayerPrefs.Savenoneboolean

SaveData

MethodParametersReturns
SaveData.Writekey: string; value: stringboolean
SaveData.Readkey: stringstring|nil
SaveData.Flushnoneboolean
SaveData.Clearnonenone
SaveData.Reloadnoneboolean
SaveData.GetLastErrornonestring

ParticleSystem

MethodParametersReturns
ParticleSystem.Emitx: number; y: number; z: number; velocityX: number; velocityY: number; velocityZ: number; lifetime: number; r?: integer; g?: integer; b?: integernone
ParticleSystem.Clearnonenone

CharacterController

MethodParametersReturns
CharacterController.MovegameObjectId: integer; x: number; y: number; z: numberboolean
CharacterController.IsGroundedgameObjectId: integerboolean
CharacterController.GetVelocityYgameObjectId: integernumber
CharacterController.SetVelocityYgameObjectId: integer; velocity: numberboolean

Engine

Named valueType
Engine.Namestring
Engine.ApiVersioninteger