Skip to content

Construct 3 SDK


Attention! You need a server to use Colyseus!

Construct has well-known existing features to "host" a multiplayer session from the client-side. This is not possible when using Colyseus. Colyseus is an authoritative server, written in Node.js. You can't let your client-side host the game sessions directly.

Construct 3 SDK: Source code

You can find the source code of the Construct SDK's here: Construct 3 (compatible with C3 and C2 runtime from Construct3) / Construct 2 (not up-to-date - compatible with server 0.9.x)

Example project

The example project has a similar result as the TypeScript (pixijs-boilerplate).

Handling messages

An important note when sending messages from the server to the clients: you need to provide an object with a "type" field, in order for the client to be able to parse it.


this.broadcast("foo", "bar");


Use the On Message condition, with "foo" as argument. The expression CurrentValue will have the value "bar".


Default Endpoint

Default Endpoint to use on "Connect" action.


Set endpoint to

Format: wss://

Join room {0} with options {1}.

Join a room by name

Join room {0} with options {1}.

Join a room by name

Create room {0} with options {1}.

Create a room by name

Join room {0} with options {1}.

Join an existing room by its ID

Reconnect into room {0} with sessionId {1}.

Reconnect using a previously connected room

Send {0} with

Send message to a room

Leave from the room

Disconnect client from the room.

Get available {0} rooms.

Get available rooms by name, OnGetAvailableRooms triggered when data is available. Data returned as JSON string in expression CurrentValue


On Join

Triggered when joined successfully into a room.

On Leave

Triggered when left from a room.

On Error

Triggered when an error happened on the server.

On Message ({0})

Triggered when the room broadcasts a message, or sends a message directly to this client.

On State Change

Triggered when the state of the room changes.

On Get Available Rooms

Triggers when available rooms data is ready in the CurrentValue expresssion.

On add at

Triggers when an item is added to ArraySchema or MapSchema.

On field change at

Triggers when a field is changed inside a Schema instance. Need to use

On change at

Triggers when an item is changed inside ArraySchema or MapSchema.

On remove at

Triggers when an item is removed from ArraySchema or MapSchema.

Is index

Only available for Arrays and Maps. Check if index of current item is equals to provided value.

Is field

Only available during "On change" of a direct object. Checks if a field name has changed.



Declare a JSON value.


Get value from current item


Get previous value from current field. Only available during "On change" on an instance variable. Not avaialble for arrays and maps.


Get nested value from current item


Get index of current item. Available during "On Add", "On Change" or "On Remove"


Get current field being changed. Available during "On field change"


Get a value from room's state


Unique sessionId of the current user


Get last error code


Get last error message

Back to top