Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Dependencies

No dependencies

Download

How to use

  • (All OS) Specify that directory via command line argument C:/dev/fyrox_lua_sdk/fyroxed_lua.exe <path>
  • (Windows only) Double-click on C:/dev/fyrox_lua_sdk/fyroxed_lua.exe icon and choose that directory in opened dialog window.
  • (Windows only) Drop that directory on the C:/dev/fyrox_lua_sdk/fyroxed_lua.exe icon in file explorer.

Game can be launched using Play button in editor. Also, game can be launched using C:/dev/fyrox_lua_sdk/fyrox_lite_lua.exe c:/dev/my_lua_game command.

Scripts

To emulate some OOP concepts, Lua Annotaions are used.

Following code defines a MyScript class, inherited from Script

---@uuid 3e0d5f2b-6f9b-4c9a-a4fb-7cda5fae9d8d
---@class MyScript : Script
---@field velocity Vector3
---@field collider Node
---@field power number
MyScript = script_class()

function MyScript:on_update(dt)
end

Defined fields are accessible in editor UI and saved into scene files.

Inherit classes from NodeScript to create scripts that can be attached to scene nodes in editor via dropdown on Inspector panel at the right. for @uuid annotation value can be generated here.

Inherit from GlobalScript to create singleton scripts. Unlike C# scripts, Lua global scripts require UUID.

Look into guards_cs project as an example.

Scripts Reloading

Editor reloads scripts metadata automatically after their change and window re-focusing. In-game hot reload works the same way.

Scenes & Assets

CLI

The fyroxed_lua.exe can also be invoked via terminal with project path argument.

Install from sources

That's optional, because prebuilt binaries are available.

  1. Install latest Rust toolchain.
  2. (Windows only) Install Git Bash. Other MSYS2 distribution haven't tested.
  3. Checkout sources and install using shell command (use Git Bash on windows)
    git clone https://github.com/kkolyan/fyrox_lite.git \
      && cd fyrox_lite \
      && chmod +x **/*.sh \
      && ./bash/lua_install_sdk.sh <installation path>
    

<installation path> now contains ready-to-use binaries.

Scripting API (C#)

Color

package

Description

Classes

Color

class in Color

Constants

NameTypeValueDescription
WHITEColorcolor_to_lite (fyrox :: core :: color :: Color :: WHITE)
BLACKColorcolor_to_lite (fyrox :: core :: color :: Color :: BLACK)
REDColorcolor_to_lite (fyrox :: core :: color :: Color :: RED)
GREENColorcolor_to_lite (fyrox :: core :: color :: Color :: GREEN)
BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: BLUE)
TRANSPARENTColorcolor_to_lite (fyrox :: core :: color :: Color :: TRANSPARENT)
MAROONColorcolor_to_lite (fyrox :: core :: color :: Color :: MAROON)
DARK_REDColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_RED)
BROWNColorcolor_to_lite (fyrox :: core :: color :: Color :: BROWN)
FIREBRICKColorcolor_to_lite (fyrox :: core :: color :: Color :: FIREBRICK)
CRIMSONColorcolor_to_lite (fyrox :: core :: color :: Color :: CRIMSON)
TOMATOColorcolor_to_lite (fyrox :: core :: color :: Color :: TOMATO)
CORALColorcolor_to_lite (fyrox :: core :: color :: Color :: CORAL)
INDIAN_REDColorcolor_to_lite (fyrox :: core :: color :: Color :: INDIAN_RED)
LIGHT_CORALColorcolor_to_lite (fyrox :: core :: color :: Color :: LIGHT_CORAL)
DARK_SALMONColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_SALMON)
SALMONColorcolor_to_lite (fyrox :: core :: color :: Color :: SALMON)
LIGHT_SALMONColorcolor_to_lite (fyrox :: core :: color :: Color :: LIGHT_SALMON)
ORANGE_REDColorcolor_to_lite (fyrox :: core :: color :: Color :: ORANGE_RED)
DARK_ORANGEColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_ORANGE)
ORANGEColorcolor_to_lite (fyrox :: core :: color :: Color :: ORANGE)
GOLDColorcolor_to_lite (fyrox :: core :: color :: Color :: GOLD)
DARK_GOLDEN_RODColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_GOLDEN_ROD)
GOLDEN_RODColorcolor_to_lite (fyrox :: core :: color :: Color :: GOLDEN_ROD)
PALE_GOLDEN_RODColorcolor_to_lite (fyrox :: core :: color :: Color :: PALE_GOLDEN_ROD)
DARK_KHAKIColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_KHAKI)
KHAKIColorcolor_to_lite (fyrox :: core :: color :: Color :: KHAKI)
OLIVEColorcolor_to_lite (fyrox :: core :: color :: Color :: OLIVE)
YELLOWColorcolor_to_lite (fyrox :: core :: color :: Color :: YELLOW)
YELLOW_GREENColorcolor_to_lite (fyrox :: core :: color :: Color :: YELLOW_GREEN)
DARK_OLIVE_GREENColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_OLIVE_GREEN)
OLIVE_DRABColorcolor_to_lite (fyrox :: core :: color :: Color :: OLIVE_DRAB)
LAWN_GREENColorcolor_to_lite (fyrox :: core :: color :: Color :: LAWN_GREEN)
CHARTREUSEColorcolor_to_lite (fyrox :: core :: color :: Color :: CHARTREUSE)
GREEN_YELLOWColorcolor_to_lite (fyrox :: core :: color :: Color :: GREEN_YELLOW)
DARK_GREENColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_GREEN)
FOREST_GREENColorcolor_to_lite (fyrox :: core :: color :: Color :: FOREST_GREEN)
LIMEColorcolor_to_lite (fyrox :: core :: color :: Color :: LIME)
LIME_GREENColorcolor_to_lite (fyrox :: core :: color :: Color :: LIME_GREEN)
LIGHT_GREENColorcolor_to_lite (fyrox :: core :: color :: Color :: LIGHT_GREEN)
PALE_GREENColorcolor_to_lite (fyrox :: core :: color :: Color :: PALE_GREEN)
DARK_SEA_GREENColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_SEA_GREEN)
MEDIUM_SPRING_GREENColorcolor_to_lite (fyrox :: core :: color :: Color :: MEDIUM_SPRING_GREEN)
SPRING_GREENColorcolor_to_lite (fyrox :: core :: color :: Color :: SPRING_GREEN)
SEA_GREENColorcolor_to_lite (fyrox :: core :: color :: Color :: SEA_GREEN)
MEDIUM_AQUA_MARINEColorcolor_to_lite (fyrox :: core :: color :: Color :: MEDIUM_AQUA_MARINE)
MEDIUM_SEA_GREENColorcolor_to_lite (fyrox :: core :: color :: Color :: MEDIUM_SEA_GREEN)
LIGHT_SEA_GREENColorcolor_to_lite (fyrox :: core :: color :: Color :: LIGHT_SEA_GREEN)
DARK_SLATE_GRAYColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_SLATE_GRAY)
TEALColorcolor_to_lite (fyrox :: core :: color :: Color :: TEAL)
DARK_CYANColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_CYAN)
AQUAColorcolor_to_lite (fyrox :: core :: color :: Color :: AQUA)
CYANColorcolor_to_lite (fyrox :: core :: color :: Color :: CYAN)
LIGHT_CYANColorcolor_to_lite (fyrox :: core :: color :: Color :: LIGHT_CYAN)
DARK_TURQUOISEColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_TURQUOISE)
TURQUOISEColorcolor_to_lite (fyrox :: core :: color :: Color :: TURQUOISE)
MEDIUM_TURQUOISEColorcolor_to_lite (fyrox :: core :: color :: Color :: MEDIUM_TURQUOISE)
PALE_TURQUOISEColorcolor_to_lite (fyrox :: core :: color :: Color :: PALE_TURQUOISE)
AQUA_MARINEColorcolor_to_lite (fyrox :: core :: color :: Color :: AQUA_MARINE)
POWDER_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: POWDER_BLUE)
CADET_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: CADET_BLUE)
STEEL_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: STEEL_BLUE)
CORN_FLOWER_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: CORN_FLOWER_BLUE)
DEEP_SKY_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: DEEP_SKY_BLUE)
DODGER_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: DODGER_BLUE)
LIGHT_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: LIGHT_BLUE)
SKY_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: SKY_BLUE)
LIGHT_SKY_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: LIGHT_SKY_BLUE)
MIDNIGHT_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: MIDNIGHT_BLUE)
NAVYColorcolor_to_lite (fyrox :: core :: color :: Color :: NAVY)
DARK_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_BLUE)
MEDIUM_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: MEDIUM_BLUE)
ROYAL_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: ROYAL_BLUE)
BLUE_VIOLETColorcolor_to_lite (fyrox :: core :: color :: Color :: BLUE_VIOLET)
INDIGOColorcolor_to_lite (fyrox :: core :: color :: Color :: INDIGO)
DARK_SLATE_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_SLATE_BLUE)
SLATE_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: SLATE_BLUE)
MEDIUM_SLATE_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: MEDIUM_SLATE_BLUE)
MEDIUM_PURPLEColorcolor_to_lite (fyrox :: core :: color :: Color :: MEDIUM_PURPLE)
DARK_MAGENTAColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_MAGENTA)
DARK_VIOLETColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_VIOLET)
DARK_ORCHIDColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_ORCHID)
MEDIUM_ORCHIDColorcolor_to_lite (fyrox :: core :: color :: Color :: MEDIUM_ORCHID)
PURPLEColorcolor_to_lite (fyrox :: core :: color :: Color :: PURPLE)
THISTLEColorcolor_to_lite (fyrox :: core :: color :: Color :: THISTLE)
PLUMColorcolor_to_lite (fyrox :: core :: color :: Color :: PLUM)
VIOLETColorcolor_to_lite (fyrox :: core :: color :: Color :: VIOLET)
MAGENTAColorcolor_to_lite (fyrox :: core :: color :: Color :: MAGENTA)
ORCHIDColorcolor_to_lite (fyrox :: core :: color :: Color :: ORCHID)
MEDIUM_VIOLET_REDColorcolor_to_lite (fyrox :: core :: color :: Color :: MEDIUM_VIOLET_RED)
PALE_VIOLET_REDColorcolor_to_lite (fyrox :: core :: color :: Color :: PALE_VIOLET_RED)
DEEP_PINKColorcolor_to_lite (fyrox :: core :: color :: Color :: DEEP_PINK)
HOT_PINKColorcolor_to_lite (fyrox :: core :: color :: Color :: HOT_PINK)
LIGHT_PINKColorcolor_to_lite (fyrox :: core :: color :: Color :: LIGHT_PINK)
PINKColorcolor_to_lite (fyrox :: core :: color :: Color :: PINK)
ANTIQUE_WHITEColorcolor_to_lite (fyrox :: core :: color :: Color :: ANTIQUE_WHITE)
BEIGEColorcolor_to_lite (fyrox :: core :: color :: Color :: BEIGE)
BISQUEColorcolor_to_lite (fyrox :: core :: color :: Color :: BISQUE)
BLANCHED_ALMONDColorcolor_to_lite (fyrox :: core :: color :: Color :: BLANCHED_ALMOND)
WHEATColorcolor_to_lite (fyrox :: core :: color :: Color :: WHEAT)
CORN_SILKColorcolor_to_lite (fyrox :: core :: color :: Color :: CORN_SILK)
LEMON_CHIFFONColorcolor_to_lite (fyrox :: core :: color :: Color :: LEMON_CHIFFON)
LIGHT_GOLDEN_ROD_YELLOWColorcolor_to_lite (fyrox :: core :: color :: Color :: LIGHT_GOLDEN_ROD_YELLOW)
LIGHT_YELLOWColorcolor_to_lite (fyrox :: core :: color :: Color :: LIGHT_YELLOW)
SADDLE_BROWNColorcolor_to_lite (fyrox :: core :: color :: Color :: SADDLE_BROWN)
SIENNAColorcolor_to_lite (fyrox :: core :: color :: Color :: SIENNA)
CHOCOLATEColorcolor_to_lite (fyrox :: core :: color :: Color :: CHOCOLATE)
PERUColorcolor_to_lite (fyrox :: core :: color :: Color :: PERU)
SANDY_BROWNColorcolor_to_lite (fyrox :: core :: color :: Color :: SANDY_BROWN)
BURLY_WOODColorcolor_to_lite (fyrox :: core :: color :: Color :: BURLY_WOOD)
TANColorcolor_to_lite (fyrox :: core :: color :: Color :: TAN)
ROSY_BROWNColorcolor_to_lite (fyrox :: core :: color :: Color :: ROSY_BROWN)
MOCCASINColorcolor_to_lite (fyrox :: core :: color :: Color :: MOCCASIN)
NAVAJO_WHITEColorcolor_to_lite (fyrox :: core :: color :: Color :: NAVAJO_WHITE)
PEACH_PUFFColorcolor_to_lite (fyrox :: core :: color :: Color :: PEACH_PUFF)
MISTY_ROSEColorcolor_to_lite (fyrox :: core :: color :: Color :: MISTY_ROSE)
LAVENDER_BLUSHColorcolor_to_lite (fyrox :: core :: color :: Color :: LAVENDER_BLUSH)
LINENColorcolor_to_lite (fyrox :: core :: color :: Color :: LINEN)
OLD_LACEColorcolor_to_lite (fyrox :: core :: color :: Color :: OLD_LACE)
PAPAYA_WHIPColorcolor_to_lite (fyrox :: core :: color :: Color :: PAPAYA_WHIP)
SEA_SHELLColorcolor_to_lite (fyrox :: core :: color :: Color :: SEA_SHELL)
MINT_CREAMColorcolor_to_lite (fyrox :: core :: color :: Color :: MINT_CREAM)
SLATE_GRAYColorcolor_to_lite (fyrox :: core :: color :: Color :: SLATE_GRAY)
LIGHT_SLATE_GRAYColorcolor_to_lite (fyrox :: core :: color :: Color :: LIGHT_SLATE_GRAY)
LIGHT_STEEL_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: LIGHT_STEEL_BLUE)
LAVENDERColorcolor_to_lite (fyrox :: core :: color :: Color :: LAVENDER)
FLORAL_WHITEColorcolor_to_lite (fyrox :: core :: color :: Color :: FLORAL_WHITE)
ALICE_BLUEColorcolor_to_lite (fyrox :: core :: color :: Color :: ALICE_BLUE)
GHOST_WHITEColorcolor_to_lite (fyrox :: core :: color :: Color :: GHOST_WHITE)
HONEYDEWColorcolor_to_lite (fyrox :: core :: color :: Color :: HONEYDEW)
IVORYColorcolor_to_lite (fyrox :: core :: color :: Color :: IVORY)
AZUREColorcolor_to_lite (fyrox :: core :: color :: Color :: AZURE)
SNOWColorcolor_to_lite (fyrox :: core :: color :: Color :: SNOW)
DIM_GRAYColorcolor_to_lite (fyrox :: core :: color :: Color :: DIM_GRAY)
GRAYColorcolor_to_lite (fyrox :: core :: color :: Color :: GRAY)
DARK_GRAYColorcolor_to_lite (fyrox :: core :: color :: Color :: DARK_GRAY)
SILVERColorcolor_to_lite (fyrox :: core :: color :: Color :: SILVER)
LIGHT_GRAYColorcolor_to_lite (fyrox :: core :: color :: Color :: LIGHT_GRAY)
GAINSBOROColorcolor_to_lite (fyrox :: core :: color :: Color :: GAINSBORO)
WHITE_SMOKEColorcolor_to_lite (fyrox :: core :: color :: Color :: WHITE_SMOKE)

Input

package

Description

User input utilities

Classes

Input

class in Input

Description

Utility class to poll player input events

Constants

NameTypeValueDescription
MouseLeftint0

Left Mouse Button ID

MouseRightint1
MouseMiddleint2
MouseBackint3
MouseForwardint4

Static Properties

NameTypeAccessDescription
mouse_moveVector2get
mouse_scrollVector2get

Static Methods

Return TypeSignatureDescription
boolis_mouse_button_down ( int button )

is mouse button with ID button is in pressed state?

boolis_mouse_button_up ( int button )
boolis_mouse_button_pressed ( int button )
boolis_key_down ( KeyCode key )
boolis_key_up ( KeyCode key )
boolis_key_pressed ( KeyCode key )

KeyCode

enum in Input

Description

Basically a copy of winit’s KeyCode, which is mostly inspired by UI Events Specification’s KeyboardEvent.code.

Properties

PropertyDescription
Backquote

` on a US keyboard. This is also called a backtick or grave. This is the 半角/全角/漢字 (hankaku/zenkaku/kanji) key on Japanese keyboards

Backslash

Used for both the US \ (on the 101-key layout) and also for the key located between the and Enter keys on row C of the 102-, 104- and 106-key layouts. Labeled # on a UK (102) keyboard.

BracketLeft

[ on a US keyboard.

BracketRight

] on a US keyboard.

Comma

, on a US keyboard.

Digit0

0 on a US keyboard.

Digit1

1 on a US keyboard.

Digit2

2 on a US keyboard.

Digit3

3 on a US keyboard.

Digit4

4 on a US keyboard.

Digit5

5 on a US keyboard.

Digit6

6 on a US keyboard.

Digit7

7 on a US keyboard.

Digit8

8 on a US keyboard.

Digit9

9 on a US keyboard.

Equal

= on a US keyboard.

IntlBackslash

Located between the left Shift and Z keys. Labeled \ on a UK keyboard.

IntlRo

Located between the / and right Shift keys. Labeled \ (ro) on a Japanese keyboard.

IntlYen

Located between the = and Backspace keys. Labeled ¥ (yen) on a Japanese keyboard. \ on a Russian keyboard.

A

a on a US keyboard. Labeled q on an AZERTY (e.g., French) keyboard.

B

b on a US keyboard.

C

c on a US keyboard.

D

d on a US keyboard.

E

e on a US keyboard.

F

f on a US keyboard.

G

g on a US keyboard.

H

h on a US keyboard.

I

i on a US keyboard.

J

j on a US keyboard.

K

k on a US keyboard.

L

l on a US keyboard.

M

m on a US keyboard.

N

n on a US keyboard.

O

o on a US keyboard.

P

p on a US keyboard.

Q

q on a US keyboard. Labeled a on an AZERTY (e.g., French) keyboard.

R

r on a US keyboard.

S

s on a US keyboard.

T

t on a US keyboard.

U

u on a US keyboard.

V

v on a US keyboard.

W

w on a US keyboard. Labeled z on an AZERTY (e.g., French) keyboard.

X

x on a US keyboard.

Y

y on a US keyboard. Labeled z on a QWERTZ (e.g., German) keyboard.

Z

z on a US keyboard. Labeled w on an AZERTY (e.g., French) keyboard, and y on a QWERTZ (e.g., German) keyboard.

Minus

- on a US keyboard.

Period

. on a US keyboard.

Quote

on a US keyboard.

Semicolon

; on a US keyboard.

Slash

/ on a US keyboard.

AltLeft

Alt, Option, or .

AltRight

Alt, Option, or . This is labeled AltGr on many keyboard layouts.

Backspace

Backspace or . Labeled Delete on Apple keyboards.

CapsLock

CapsLock or

ContextMenu

The application context menu key, which is typically found between the right Super key and the right Control key.

ControlLeft

Control or

ControlRight

Control or

Enter

Enter or . Labeled Return on Apple keyboards.

SuperLeft

The Windows, , Command, or other OS symbol key.

SuperRight

The Windows, , Command, or other OS symbol key.

ShiftLeft

Shift or

ShiftRight

Shift or

Space

  (space)

Tab

Tab or

Convert

Japanese: (henkan)

KanaMode

Japanese: カタカナ/ひらがな/ローマ字 (katakana/hiragana/romaji)

Lang1

Korean: HangulMode 한/영 (han/yeong)

Japanese (Mac keyboard): (kana)

Lang2

Korean: Hanja (hanja)

Japanese (Mac keyboard): (eisu)

Lang3

Japanese (word-processing keyboard): Katakana

Lang4

Japanese (word-processing keyboard): Hiragana

Lang5

Japanese (word-processing keyboard): Zenkaku/Hankaku

NonConvert

Japanese: 無変換 (muhenkan)

Delete

. The forward delete key. Note that on Apple keyboards, the key labelled Delete on the main part of the keyboard is encoded as Backspace.

End

Page Down, End, or

Help

Help. Not present on standard PC keyboards.

Home

Home or

Insert

Insert or Ins. Not present on Apple keyboards.

PageDown

Page Down, PgDn, or

PageUp

Page Up, PgUp, or

ArrowDown

ArrowLeft

ArrowRight

ArrowUp

NumLock

On the Mac, this is used for the numpad Clear key.

Numpad0

0 Ins on a keyboard. 0 on a phone or remote control

Numpad1

1 End on a keyboard. 1 or 1 QZ on a phone or remote control

Numpad2

2 ↓ on a keyboard. 2 ABC on a phone or remote control

Numpad3

3 PgDn on a keyboard. 3 DEF on a phone or remote control

Numpad4

4 ← on a keyboard. 4 GHI on a phone or remote control

Numpad5

5 on a keyboard. 5 JKL on a phone or remote control

Numpad6

6 → on a keyboard. 6 MNO on a phone or remote control

Numpad7

7 Home on a keyboard. 7 PQRS or 7 PRS on a phone or remote control

Numpad8

8 ↑ on a keyboard. 8 TUV on a phone or remote control

Numpad9

9 PgUp on a keyboard. 9 WXYZ or 9 WXY on a phone or remote control

NumpadAdd

+

NumpadBackspace

Found on the Microsoft Natural Keyboard.

NumpadClear

C or A (All Clear). Also for use with numpads that have a Clear key that is separate from the NumLock key. On the Mac, the numpad Clear key is encoded as NumLock.

NumpadClearEntry

C (Clear Entry)

NumpadComma

, (thousands separator). For locales where the thousands separator is a “.” (e.g., Brazil), this key may generate a ..

NumpadDecimal

. Del. For locales where the decimal separator is “,” (e.g., Brazil), this key may generate a ,.

NumpadDivide

/

NumpadEnter
NumpadEqual

=

NumpadHash

# on a phone or remote control device. This key is typically found below the 9 key and to the right of the 0 key.

NumpadMemoryAdd

M Add current entry to the value stored in memory.

NumpadMemoryClear

M Clear the value stored in memory.

NumpadMemoryRecall

M Replace the current entry with the value stored in memory.

NumpadMemoryStore

M Replace the value stored in memory with the current entry.

NumpadMemorySubtract

M Subtract current entry from the value stored in memory.

NumpadMultiply

on a keyboard. For use with numpads that provide mathematical operations (+, - and /).

Use NumpadStar for the * key on phones and remote controls.

NumpadParenLeft

( Found on the Microsoft Natural Keyboard.

NumpadParenRight

) Found on the Microsoft Natural Keyboard.

NumpadStar

on a phone or remote control device.

This key is typically found below the 7 key and to the left of the 0 key.

Use “NumpadMultiply” for the key on numeric keypads.

NumpadSubtract

-

Escape

Esc or

Fn

Fn This is typically a hardware key that does not generate a separate code.

FnLock

FLock or FnLock. Function Lock key. Found on the Microsoft Natural Keyboard.

PrintScreen

PrtScr SysRq or Print Screen

ScrollLock

Scroll Lock

Pause

Pause Break

BrowserBack

Some laptops place this key to the left of the key.

This also the “back” button (triangle) on Android.

BrowserFavorites
BrowserForward

Some laptops place this key to the right of the key.

BrowserHome

The “home” button on Android.

BrowserRefresh
BrowserSearch
BrowserStop
Eject

Eject or . This key is placed in the function section on some Apple keyboards.

LaunchApp1

Sometimes labelled My Computer on the keyboard

LaunchApp2

Sometimes labelled Calculator on the keyboard

LaunchMail
MediaPlayPause
MediaSelect
MediaStop
MediaTrackNext
MediaTrackPrevious
Power

This key is placed in the function section on some Apple keyboards, replacing the Eject key.

Sleep
AudioVolumeDown
AudioVolumeMute
AudioVolumeUp
WakeUp
Meta
Hyper
Turbo
Abort
Resume
Suspend
Again

Found on Sun’s USB keyboard.

Copy

Found on Sun’s USB keyboard.

Cut

Found on Sun’s USB keyboard.

Find

Found on Sun’s USB keyboard.

Open

Found on Sun’s USB keyboard.

Paste

Found on Sun’s USB keyboard.

Props

Found on Sun’s USB keyboard.

Select

Found on Sun’s USB keyboard.

Undo

Found on Sun’s USB keyboard.

Hiragana

Use for dedicated ひらがな key found on some Japanese word processing keyboards.

Katakana

Use for dedicated カタカナ key found on some Japanese word processing keyboards.

F1

General-purpose function key. Usually found at the top of the keyboard.

F2

General-purpose function key. Usually found at the top of the keyboard.

F3

General-purpose function key. Usually found at the top of the keyboard.

F4

General-purpose function key. Usually found at the top of the keyboard.

F5

General-purpose function key. Usually found at the top of the keyboard.

F6

General-purpose function key. Usually found at the top of the keyboard.

F7

General-purpose function key. Usually found at the top of the keyboard.

F8

General-purpose function key. Usually found at the top of the keyboard.

F9

General-purpose function key. Usually found at the top of the keyboard.

F10

General-purpose function key. Usually found at the top of the keyboard.

F11

General-purpose function key. Usually found at the top of the keyboard.

F12

General-purpose function key. Usually found at the top of the keyboard.

F13

General-purpose function key. Usually found at the top of the keyboard.

F14

General-purpose function key. Usually found at the top of the keyboard.

F15

General-purpose function key. Usually found at the top of the keyboard.

F16

General-purpose function key. Usually found at the top of the keyboard.

F17

General-purpose function key. Usually found at the top of the keyboard.

F18

General-purpose function key. Usually found at the top of the keyboard.

F19

General-purpose function key. Usually found at the top of the keyboard.

F20

General-purpose function key. Usually found at the top of the keyboard.

F21

General-purpose function key. Usually found at the top of the keyboard.

F22

General-purpose function key. Usually found at the top of the keyboard.

F23

General-purpose function key. Usually found at the top of the keyboard.

F24

General-purpose function key. Usually found at the top of the keyboard.

F25

General-purpose function key.

F26

General-purpose function key.

F27

General-purpose function key.

F28

General-purpose function key.

F29

General-purpose function key.

F30

General-purpose function key.

F31

General-purpose function key.

F32

General-purpose function key.

F33

General-purpose function key.

F34

General-purpose function key.

F35

General-purpose function key.

Log

package

Description

Classes

Log

class in Log

Static Methods

Return TypeSignatureDescription
voidinfo ( string msg )
voidwarn ( string msg )
voiderr ( string msg )

Math

package

Description

Classes

Quaternion

class in Math

Methods

Return TypeSignatureDescription
Vector3mul_vec ( Vector3 o )
Quaternionmul_quat ( Quaternion rot_delta )

Static Methods

Return TypeSignatureDescription
Quaternionface_towards ( Vector3 dir, Vector3 up )
Quaternionfrom_axis_angle ( Vector3 axis, float angle )

Vector2

class in Math

Properties

NameTypeAccessDescription
xfloatget / set
yfloatget / set

Methods

Return TypeSignatureDescription
Vector2mul ( float o )
Vector2add ( Vector2 o )
Vector2normalize ( )
Vector2sub ( Vector2 o )
floatmagnitude ( )
voidnormalize_inplace ( )

Static Properties

NameTypeAccessDescription
ZEROVector2get

Static Methods

Return TypeSignatureDescription
Vector2new ( float x, float y )

Vector2I

class in Math

Properties

NameTypeAccessDescription
xintget / set
yintget / set

Methods

Return TypeSignatureDescription
Vector2Imul ( int o )
Vector2Iadd ( Vector2I o )
Vector2Isub ( Vector2I o )

Static Properties

NameTypeAccessDescription
ZEROVector2Iget

Static Methods

Return TypeSignatureDescription
Vector2Inew ( int x, int y )

Vector3

class in Math

Properties

NameTypeAccessDescription
xfloatget / set
yfloatget / set
zfloatget / set

Methods

Return TypeSignatureDescription
Vector3mul ( float o )
Vector3add ( Vector3 o )
Vector3normalize ( )
Vector3sub ( Vector3 o )
floatmagnitude ( )
voidnormalize_inplace ( )

Static Properties

NameTypeAccessDescription
XVector3get
YVector3get
ZVector3get
ZEROVector3get

Static Methods

Return TypeSignatureDescription
Vector3new ( float x, float y, float z )

Node

package

Description

Classes

Node

class in Node

Properties

NameTypeAccessDescription
namestringget
aliveboolget
global_positionVector3get
local_positionVector3get / set
local_rotationQuaternionget / set
validboolget
parentNodeget
global_rotationQuaternionget
tagstringget / set

Methods

Return TypeSignatureDescription
RigidBody?as_rigid_body ( )
voiddestroy ( )
voidsend_hierarchical ( RoutingStrategy routing, object payload )

Sends a hierarchical script message with the given payload.

voidsubscribe_to <T> ( )
Node?find_collider_in_children ( )
Tadd_script <T> ( )
T?find_script <T> ( )
booltag_is ( string tag )

RoutingStrategy

enum in Node

Properties

PropertyDescription
Up

An message will be passed to the specified root node and then to every node up in the hierarchy.

Down

An message will be passed to every node down the tree in the hierarchy.

Physics

package

Description

Classes

FeatureId

struct in Physics

Description

Shape-dependent identifier.

Fields

NameTypeDescription
kindFeatureKind
idint

FeatureKind

enum in Physics

Properties

PropertyDescription
Vertex

Shape-dependent identifier of a vertex.

Edge

Shape-dependent identifier of an edge.

Face

Shape-dependent identifier of a face.

Unknown

Unknown identifier.

InteractionGroups

struct in Physics

Fields

NameTypeDescription
membershipsint

Groups memberships.

filterint

Groups filter.

Intersection

struct in Physics

Description

A ray intersection result.

Fields

NameTypeDescription
colliderNode

A handle of the collider with which intersection was detected.

normalVector3

A normal at the intersection position.

positionVector3

A position of the intersection in world coordinates.

featureFeatureId

Additional data that contains a kind of the feature with which intersection was detected as well as its index.

Important notes.

FeatureId::Face might have index that is greater than amount of triangles in a triangle mesh, this means that intersection was detected from “back” side of a face. To “fix” that index, simply subtract amount of triangles of a triangle mesh from the value.

toifloat

Distance from the ray origin.

Physics

class in Physics

Constants

NameTypeValueDescription
EXCLUDE_FIXEDint1 << 1

Exclude from the query any collider attached to a fixed rigid-body and colliders with no rigid-body attached.

EXCLUDE_KINEMATICint1 << 2

Exclude from the query any collider attached to a kinematic rigid-body.

EXCLUDE_DYNAMICint1 << 3

Exclude from the query any collider attached to a dynamic rigid-body.

EXCLUDE_SENSORSint1 << 4

Exclude from the query any collider that is a sensor.

EXCLUDE_SOLIDSint1 << 5

Exclude from the query any collider that is not a sensor.

ONLY_DYNAMICintLitePhysics :: EXCLUDE_FIXEDLitePhysics :: EXCLUDE_KINEMATIC
ONLY_KINEMATICintLitePhysics :: EXCLUDE_DYNAMICLitePhysics :: EXCLUDE_FIXED
ONLY_FIXEDintLitePhysics :: EXCLUDE_DYNAMICLitePhysics :: EXCLUDE_KINEMATIC

Static Methods

Return TypeSignatureDescription
List< Intersection >cast_ray ( RayCastOptions opts )

RayCastOptions

struct in Physics

Fields

NameTypeDescription
ray_originVector3

A ray origin.

ray_directionVector3

A ray direction. Can be non-normalized.

max_lenfloat

Maximum distance of cast.

groupsInteractionGroups?

Groups to check.

sort_resultsbool

Whether to sort intersections from closest to farthest.

RigidBody

class in Physics

Methods

Return TypeSignatureDescription
voidapply_force ( Vector3 force )

Prefab

package

Description

Classes

Prefab

class in Prefab

Methods

Return TypeSignatureDescription
Nodeinstantiate_at ( Vector3 position, Quaternion orientation )

Scene

package

Description

Classes

Scene

class in Scene

Static Methods

Return TypeSignatureDescription
voidload_async ( string scene_path )

Script

package

Description

Classes

GlobalScript

class in Script

Static Methods

Return TypeSignatureDescription
Tget <T> ( )

find a global script by type

NodeScript

class in Script

Properties

NameTypeAccessDescription
nodeNodeget

UI

package

Description

Classes

Brush

struct in UI

Description

Brush defines a way to fill an arbitrary surface.

Fields

NameTypeDescription
solid_colorColor?

A brush, that fills a surface with a solid color.

linear_gradientLinearGradient?

A brush, that fills a surface with a linear gradient, which is defined by two points in local coordinates and a set of stop points. See [GradientPoint] for more info.

radial_gradientRadialGradient?

A brush, that fills a surface with a radial gradient, which is defined by a center point in local coordinates and a set of stop points. See [GradientPoint] for more info.

GradientPoint

struct in UI

Fields

NameTypeDescription
stopfloat

A distance from an origin of the gradient.

colorColor

Color of the point.

LinearGradient

struct in UI

Fields

NameTypeDescription
fromVector2

Beginning of the gradient in local coordinates.

toVector2

End of the gradient in local coordinates.

stopsList< GradientPoint >

Stops of the gradient.

RadialGradient

struct in UI

Fields

NameTypeDescription
centerVector2

Center of the gradient in local coordinates.

stopsList< GradientPoint >

Stops of the gradient.

Text

class in UI

Description

Text is a simple widget that allows you to print text on screen. It has various options like word wrapping, text alignment, and so on.

Properties

NameTypeAccessDescription
text_asyncstringset

sets the text of UI element. applied at the end of frame.

Static Methods

Return TypeSignatureDescription
Textnew ( TextBuilder state )

TextBuilder

struct in UI

Fields

NameTypeDescription
foregroundBrush?
font_sizefloat?

UiNode

class in UI

Window

package

Description

Classes

CursorGrabMode

enum in Window

Properties

PropertyDescription
None

No grabbing of the cursor is performed.

Confined

The cursor is confined to the window area.

There’s no guarantee that the cursor will be hidden. You should hide it by yourself if you want to do so.

Platform-specific

  • macOS: Not implemented. Always returns [ExternalError::NotSupported] for now.
  • iOS / Android / Web: Always returns an [ExternalError::NotSupported].
Locked

The cursor is locked inside the window area to the certain position.

There’s no guarantee that the cursor will be hidden. You should hide it by yourself if you want to do so.

Platform-specific

  • X11 / Windows: Not implemented. Always returns [ExternalError::NotSupported] for now.
  • iOS / Android: Always returns an [ExternalError::NotSupported].

Window

class in Window

Static Properties

NameTypeAccessDescription
cursor_grabCursorGrabModeset