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
| Callback | Parameters |
|---|
Awake | gameObjectId: integer |
OnEnable | gameObjectId: integer |
Start | gameObjectId: integer |
FixedUpdate | gameObjectId: integer; fixedDeltaTime: number |
Update | gameObjectId: integer; deltaTime: number |
LateUpdate | gameObjectId: integer; deltaTime: number |
OnCollisionEnter | gameObjectId: integer; otherGameObjectId: integer |
OnCollisionStay | gameObjectId: integer; otherGameObjectId: integer |
OnCollisionExit | gameObjectId: integer; otherGameObjectId: integer |
OnTriggerEnter | gameObjectId: integer; otherGameObjectId: integer |
OnTriggerStay | gameObjectId: integer; otherGameObjectId: integer |
OnTriggerExit | gameObjectId: integer; otherGameObjectId: integer |
OnDisable | gameObjectId: integer |
OnDestroy | gameObjectId: integer |
Log
| Method | Parameters | Returns |
|---|
Log.Print | message: any | none |
Time
| Method | Parameters | Returns |
|---|
Time.DeltaTime | none | number |
Time.UnscaledDeltaTime | none | number |
Time.GetTimeScale | none | number |
Time.SetTimeScale | scale: number | boolean |
| Method | Parameters | Returns |
|---|
Transform.GetPosition | gameObjectId: integer | Vec3|nil |
Transform.SetPosition | gameObjectId: integer; positionOrX: Vec3|number; y?: number; z?: number | boolean |
Transform.GetPositionX | gameObjectId: integer | number|nil |
Transform.GetPositionY | gameObjectId: integer | number|nil |
Transform.GetPositionZ | gameObjectId: integer | number|nil |
Transform.GetRotation | gameObjectId: integer | Vec3|nil |
Transform.SetRotation | gameObjectId: integer; rotationOrX: Vec3|number; y?: number; z?: number | boolean |
Transform.GetRotationX | gameObjectId: integer | number|nil |
Transform.GetRotationY | gameObjectId: integer | number|nil |
Transform.GetRotationZ | gameObjectId: integer | number|nil |
Transform.GetScale | gameObjectId: integer | Vec3|nil |
Transform.SetScale | gameObjectId: integer; scaleOrX: Vec3|number; y?: number; z?: number | boolean |
Transform.GetScaleX | gameObjectId: integer | number|nil |
Transform.GetScaleY | gameObjectId: integer | number|nil |
Transform.GetScaleZ | gameObjectId: integer | number|nil |
Transform.RotateX | gameObjectId: integer; degrees: number | boolean |
Transform.RotateY | gameObjectId: integer; degrees: number | boolean |
Transform.RotateZ | gameObjectId: integer; degrees: number | boolean |
Transform.Translate | gameObjectId: integer; x: number; y: number; z: number | boolean |
GameObject
| Method | Parameters | Returns |
|---|
GameObject.Find | name: string | integer |
GameObject.Exists | gameObjectId: integer | boolean |
GameObject.GetName | gameObjectId: integer | string|nil |
GameObject.IsActive | gameObjectId: integer | boolean|nil |
GameObject.SetActive | gameObjectId: integer; active: boolean | boolean |
GameObject.Invoke | gameObjectId: integer; functionName: string; integerArg1?: integer; integerArg2?: integer; stringArg1?: string; stringArg2?: string | boolean |
GameObject.CompareTag | gameObjectId: integer; tag: string | boolean |
GameObject.GetLayer | gameObjectId: integer | integer |
GameObject.SetLayer | gameObjectId: integer; layer: integer | boolean |
| Method | Parameters | Returns |
|---|
Input.GetButton | buttonOrAction: integer|string | boolean |
Input.GetButtonDown | buttonOrAction: integer|string | boolean |
Input.GetButtonUp | buttonOrAction: integer|string | boolean |
Input.GetAxis | stickOrAction?: integer|string | number; number |
Input.IsConnected | none | boolean |
Input.HasAnalog | none | boolean |
Input.GetPadType | none | integer |
| Named value | Type |
|---|
Input.CROSS | integer |
Input.CIRCLE | integer |
Input.SQUARE | integer |
Input.TRIANGLE | integer |
Input.UP | integer |
Input.DOWN | integer |
Input.LEFT | integer |
Input.RIGHT | integer |
Input.START | integer |
Input.SELECT | integer |
Input.L1 | integer |
Input.L2 | integer |
Input.L3 | integer |
Input.R1 | integer |
Input.R2 | integer |
Input.R3 | integer |
Input.STICK_LEFT | integer |
Input.STICK_RIGHT | integer |
| Method | Parameters | Returns |
|---|
PlayerInput.SetEnabled | gameObjectId: integer; enabled: boolean | boolean |
PlayerInput.IsEnabled | gameObjectId: integer | boolean|nil |
Rumble
| Method | Parameters | Returns |
|---|
Rumble.Play | lowFrequency?: number; highFrequency?: number; durationSeconds?: number | boolean |
Rumble.Stop | none | none |
Rumble.IsSupported | none | boolean |
AudioSource
| Method | Parameters | Returns |
|---|
AudioSource.Play | gameObjectId: integer | boolean |
AudioSource.PlayOneShot | gameObjectId: integer | boolean |
AudioSource.Stop | gameObjectId: integer | boolean |
AudioSource.SetVolume | gameObjectId: integer; volume: number | boolean |
AudioSource.SetPan | gameObjectId: integer; pan: number | boolean |
AudioSource.IsPlaying | gameObjectId: integer | boolean |
Music
| Method | Parameters | Returns |
|---|
Music.Play | name: string; loop?: boolean | boolean |
Music.Stop | none | boolean |
Music.SetVolume | volume: number | boolean |
Music.IsPlaying | none | boolean |
Camera
| Method | Parameters | Returns |
|---|
Camera.Has | gameObjectId: integer | boolean |
Camera.GetActive | none | integer |
Camera.GetFieldOfView | gameObjectId: integer | number|nil |
Camera.SetFieldOfView | gameObjectId: integer; degrees: number | boolean |
Light
| Method | Parameters | Returns |
|---|
Light.Has | gameObjectId: integer | boolean |
Light.GetDirection | gameObjectId: integer | Vec3|nil |
Light.SetDirection | gameObjectId: integer; x: number; y: number; z: number | boolean |
Light.GetColor | gameObjectId: integer | ColorRgb|nil |
Light.SetColor | gameObjectId: integer; r: integer; g: integer; b: integer | boolean |
Light.GetIntensity | gameObjectId: integer | number|nil |
Light.SetIntensity | gameObjectId: integer; intensity: number | boolean |
Light.GetAmbient | gameObjectId: integer | ColorRgb|nil |
Light.SetAmbient | gameObjectId: integer; r: integer; g: integer; b: integer | boolean |
Collider
| Method | Parameters | Returns |
|---|
Collider.Has | gameObjectId: integer | boolean |
Collider.GetShape | gameObjectId: integer | integer|nil |
Collider.SetShape | gameObjectId: integer; shape: integer | boolean |
Collider.IsTrigger | gameObjectId: integer | boolean |
Collider.SetIsTrigger | gameObjectId: integer; isTrigger: boolean | boolean |
Collider.GetSize | gameObjectId: integer | Vec3|nil |
Collider.SetSize | gameObjectId: integer; x: number; y: number; z: number | boolean |
Collider.GetRadius | gameObjectId: integer | number|nil |
Collider.SetRadius | gameObjectId: integer; radius: number | boolean |
| Named value | Type |
|---|
Collider.ShapeBox | integer |
Collider.ShapeSphere | integer |
Physics
| Method | Parameters | Returns |
|---|
Physics.IsColliding | gameObjectId: integer; otherGameObjectId?: integer | boolean |
Physics.GetCollisionCount | gameObjectId: integer | integer |
Physics.Raycast | originX: number; originY: number; originZ: number; directionX: number; directionY: number; directionZ: number; maxDistance: number; layerMask?: integer; queryTriggers?: boolean | boolean; integer; number; number; number; number; number; number; number |
SceneManager
| Method | Parameters | Returns |
|---|
SceneManager.LoadScene | scenePath: string | none |
Timeline
| Method | Parameters | Returns |
|---|
Timeline.Play | name: string; options?: { OnComplete: fun() } | boolean |
Timeline.Stop | none | none |
Timeline.IsPlaying | none | boolean |
Animation
| Method | Parameters | Returns |
|---|
Animation.Play | name: string; loopOrOptions?: boolean|{ Loop: boolean, OnComplete: fun() } | boolean |
Animation.Stop | name?: string | none |
Animation.IsPlaying | name?: string | boolean |
NavMesh
| Method | Parameters | Returns |
|---|
NavMesh.FindPath | startX: number; startY: number; startZ: number; endX: number; endY: number; endZ: number | table |
NavMesh.SamplePosition | x: number; y: number; z: number; maxDistance: number; surfaceGameObjectId?: integer | boolean; number; number; number |
NavMeshAgent
| Method | Parameters | Returns |
|---|
NavMeshAgent.SetDestination | gameObjectId: integer; x: number; y: number; z: number | boolean |
NavMeshAgent.Stop | gameObjectId: integer | none |
NavMeshAgent.IsMoving | gameObjectId: integer | boolean |
NavMeshAgent.HasPath | gameObjectId: integer | boolean |
NavMeshAgent.HasReachedDestination | gameObjectId: integer | boolean |
NavMeshAgent.IsOnNavMesh | gameObjectId: integer | boolean |
NavMeshAgent.GetRemainingDistance | gameObjectId: integer | number |
NavMeshAgent.GetSpeed | gameObjectId: integer | number |
NavMeshAgent.GetPathStatus | gameObjectId: integer | integer |
| Named value | Type |
|---|
NavMeshAgent.PathInvalid | integer |
NavMeshAgent.PathComplete | integer |
Portal
| Method | Parameters | Returns |
|---|
Portal.SetOpen | portalGameObjectId: integer; open: boolean | boolean |
| Method | Parameters | Returns |
|---|
UI.Find | name: string | integer |
UI.GetType | elementId: integer | integer|nil |
UI.GetCount | none | integer |
UI.DrawText | x: number; y: number; text: string | none |
Canvas
| Method | Parameters | Returns |
|---|
Canvas.Find | name: string | integer |
Canvas.SetEnabled | canvasId: integer; enabled: boolean | boolean |
Canvas.IsEnabled | canvasId: integer | boolean |
Canvas.SetSortOrder | canvasId: integer; sortOrder: integer | boolean |
Canvas.GetCount | none | integer |
Text
| Method | Parameters | Returns |
|---|
Text.SetText | elementId: integer; text: string | boolean |
Text.GetText | elementId: integer | string|nil |
Image
| Method | Parameters | Returns |
|---|
Image.SetTexture | elementId: integer; textureGuid: string | boolean |
Image.GetTexture | elementId: integer | string|nil |
| Method | Parameters | Returns |
|---|
Button.SetInteractable | elementId: integer; interactable: boolean | boolean |
Button.IsInteractable | elementId: integer | boolean |
| Method | Parameters | Returns |
|---|
RectTransform.SetPosition | elementId: integer; x: number; y: number | boolean |
RectTransform.GetPosition | elementId: integer | number|nil; number|nil |
RectTransform.SetSize | elementId: integer; width: number; height: number | boolean |
RectTransform.GetSize | elementId: integer | number|nil; number|nil |
Graphic
| Method | Parameters | Returns |
|---|
Graphic.SetColor | elementId: integer; r: integer; g: integer; b: integer; a?: integer | boolean |
Graphic.GetColor | elementId: integer | integer|nil; integer|nil; integer|nil; integer|nil |
Graphic.SetEnabled | elementId: integer; enabled: boolean | boolean |
Graphic.IsEnabled | elementId: integer | boolean |
Selectable
| Method | Parameters | Returns |
|---|
Selectable.Select | elementId: integer | boolean |
Selectable.GetSelected | none | integer |
ProgressBar
| Method | Parameters | Returns |
|---|
ProgressBar.SetValue | elementId: integer; value: number | boolean |
ProgressBar.GetValue | elementId: integer | number|nil |
Interactable
| Method | Parameters | Returns |
|---|
Interactable.SetEnabled | gameObjectId: integer; enabled: boolean | boolean |
Interactable.IsEnabled | gameObjectId: integer | boolean |
| Method | Parameters | Returns |
|---|
TransformAnimator.Play | gameObjectId: integer; state?: string | boolean |
TransformAnimator.Stop | gameObjectId: integer | boolean |
TransformAnimator.SetSpeed | gameObjectId: integer; speed: number | boolean |
TransformAnimator.IsPlaying | gameObjectId: integer | boolean |
TransformAnimator.SetState | gameObjectId: integer; state: string | boolean |
TransformAnimator.GetState | gameObjectId: integer | string|nil |
Animator
| Method | Parameters | Returns |
|---|
Animator.Play | gameObjectId: integer; clipName: string; loop?: boolean | boolean |
Animator.Stop | gameObjectId: integer | boolean |
Animator.IsPlaying | gameObjectId: integer | boolean |
Animator.GetClip | gameObjectId: integer | string|nil |
Animator.ConsumeFinished | gameObjectId: integer | string|nil |
PlayerPrefs
| Method | Parameters | Returns |
|---|
PlayerPrefs.SetInt | key: string; value: integer | boolean |
PlayerPrefs.GetInt | key: string; defaultValue?: integer | integer |
PlayerPrefs.SetFloat | key: string; value: number | boolean |
PlayerPrefs.GetFloat | key: string; defaultValue?: number | number |
PlayerPrefs.SetString | key: string; value: string | boolean |
PlayerPrefs.GetString | key: string; defaultValue?: string | string |
PlayerPrefs.HasKey | key: string | boolean |
PlayerPrefs.DeleteKey | key: string | boolean |
PlayerPrefs.DeleteAll | none | boolean |
PlayerPrefs.Save | none | boolean |
SaveData
| Method | Parameters | Returns |
|---|
SaveData.Write | key: string; value: string | boolean |
SaveData.Read | key: string | string|nil |
SaveData.Flush | none | boolean |
SaveData.Clear | none | none |
SaveData.Reload | none | boolean |
SaveData.GetLastError | none | string |
ParticleSystem
| Method | Parameters | Returns |
|---|
ParticleSystem.Emit | x: number; y: number; z: number; velocityX: number; velocityY: number; velocityZ: number; lifetime: number; r?: integer; g?: integer; b?: integer | none |
ParticleSystem.Clear | none | none |
CharacterController
| Method | Parameters | Returns |
|---|
CharacterController.Move | gameObjectId: integer; x: number; y: number; z: number | boolean |
CharacterController.IsGrounded | gameObjectId: integer | boolean |
CharacterController.GetVelocityY | gameObjectId: integer | number |
CharacterController.SetVelocityY | gameObjectId: integer; velocity: number | boolean |
Engine
| Named value | Type |
|---|
Engine.Name | string |
Engine.ApiVersion | integer |