Skip to main content

Lua API Reference

Look up the functions, arguments, return values, and constants available in Polygon Engine 0.1.0-ea.21. 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

Session​

MethodParametersReturns
Session.Readkey: stringstring|nil
Session.Writekey: string; value: stringboolean
Session.Deletekey: stringboolean

ScreenFade​

MethodParametersReturns
ScreenFade.ToBlackseconds?: numberboolean
ScreenFade.FromBlackseconds?: numberboolean
ScreenFade.IsPlayingnoneboolean

UI​

MethodParametersReturns
UI.SetInputEnabledenabled: booleanboolean
UI.SetSubmitButtonbuttonOrAction: stringboolean
UI.SetSelectionColorr: integer; g: integer; b: integerboolean
UI.Findname: stringinteger
UI.GetTypeelementId: integerinteger|nil
UI.GetCountnoneinteger
UI.DrawTextx: number; y: number; text: stringnone

Canvas​

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

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|string; deadZone?: numbernumber; 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: string; options?: tableboolean
SceneManager.GetEntryPointnonestring

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

Text​

MethodParametersReturns
Text.SetVisibleCharacterCountelementId: integer; count: integerboolean
Text.GetVisibleCharacterCountelementId: integerinteger|nil
Text.SetColorelementId: integer; r: integer; g: integer; b: integer; a?: integerboolean
Text.GetColorelementId: integerinteger|nil; integer|nil; integer|nil; integer|nil
Text.SetTextelementId: integer; text: stringboolean
Text.GetTextelementId: integerstring|nil

RectTransform​

MethodParametersReturns
RectTransform.SetScaleelementId: integer; x: number; y: numberboolean
RectTransform.GetScaleelementId: integernumber|nil; number|nil
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

Image​

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

Button​

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

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.Deletekey: stringboolean
SaveData.Flushnoneboolean
SaveData.Clearnoneboolean
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