Inherits: WebSocketMultiplayerPeer < NetworkedMultiplayerPeer < PacketPeer < Reference < Object

Category: Core

Brief Description

A WebSocket client implementation


bool verify_ssl


Error connect_to_url ( String url, PoolStringArray protocols=PoolStringArray( ), bool gd_mp_api=false )
void disconnect_from_host ( int code=1000, String reason=”” )


  • connection_closed ( bool was_clean_close )

Emitted when the connection to the server is closed. was_clean_close will be true if the connection was shutdown cleanly.

  • connection_error ( )

Emitted when the connection to the server fails.

  • connection_established ( String protocol )

Emitted when a connection with the server is established, protocol will contain the sub-protocol agreed with the server.

  • data_received ( )

Emitted when a WebSocket message is received. Note: This signal is NOT emitted when used as high level multiplayer peer.

  • server_close_request ( int code, String reason )

Emitted when the server requests a clean close. You should keep polling until you get a connection_closed signal to achieve the clean close. See WebSocketPeer.close for more details.


This class implements a WebSocket client compatible with any RFC 6455 complaint WebSocket server.

This client can be optionally used as a network peer for the MultiplayerAPI.

After starting the client (connect_to_url), you will need to NetworkedMultiplayerPeer.poll it at regular intervals (e.g. inside Node._process).

You will received appropriate signals when connecting, disconnecting, or when new data is available.

Property Descriptions

Setter set_verify_ssl_enabled(value)
Getter is_verify_ssl_enabled()

Enable or disable SSL certificate verification. Note: You must specify the certificates to be used in the project settings for it to work when exported.

Method Descriptions

Connect to the given URL requesting one of the given protocols as sub-protocol.

If true is passed as gd_mp_api, the client will behave like a network peer for the MultiplayerAPI, connections to non Godot servers will not work, and data_received will not be emitted.

If false is passed instead (default), you must call PacketPeer functions (put_packet, get_packet, etc.) on the WebSocketPeer returned via get_peer(1) and not on this object directly (e.g. get_peer(1).put_packet(data)).

  • void disconnect_from_host ( int code=1000, String reason=”” )

Disconnect this client from the connected host. See WebSocketPeer.close for more info.