Reference API Roblox

Engine API

Website

Related

Reference API Roblox

PluginConnection

Encapsulates a connection between the current data model and another for plugin communication.

This class is not replicated. Its interface does not cross the network boundary.
This class is not creatable. Instances of this class cannot be created with Instance.new.
Tags: [NotCreatable, NotReplicated]

Member index 6

HistoryMember
715Connected: bool
715TargetId: string
715Type: PluginConnectionTargetType
715BindToMessage(callbackFunction: Function): RBXScriptConnection
717SendMessage(message: Variant): null
inherited from Object
647ClassName: string
647className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
650isA(className: string): bool
647Changed(property: string)

Description

Studio plugins run in each Studio data model that the user opens, including both edit and playtest data models. PluginConnection objects allow these instances of the same plugin to communicate across data model boundaries. Messages sent by PluginConnection:SendMessage() will be received in the remote data model via the callback the same plugin registers with PluginConnection:BindToMessage(). Each PluginConnection object can both send and receive messages while connected, and messages will be received reliably and in order unless the connection drops (e.g. due to the remote data model shutting down) before their receipt.

Note that although multiple plugins may share the same PluginConnection object, they each have their own internal connection; each plugin will receive only its own messages in its callback to BindToMessage(), even if other plugins call SendMessage().

History 8

Members 6

BindToMessage

Parameters (1)
callbackFunctionFunction
Returns (1)
RBXScriptConnection

This function binds a callback to this connection, which will be called when the connection receives a message from the current plugin running in the remote data model. The message passed to the callback will be the same as the one the plugin passed to SendMessage(). The PluginConnection will buffer any messages received before the plugin calls BindToMessage() and deliver them immediately when the plugin does call BindToMessage(). Each plugin may only bind one callback at a time.

History 1

Connected

TypeDefault
bool

If true, then this PluginConnection remains connected to the target data model, and it is still possible to send messages to that data model and receive them from it. If false, then the connection has been lost. Once disconnected, PluginConnection objects cannot reconnect, so a value of false here indicates it is now safe to discard the PluginConnection object.

This property is not replicated. Its interface does not cross the network boundary.
This property is read-only. Its value can be read, but it cannot be modified.

History 1

Tags: [ReadOnly, NotReplicated]

SendMessage

Parameters (1)
messageVariant
Returns (1)
null

This function transmits a string or buffer to the remote data model. The callback registered in BindToMessage() by the instance of the current plugin running in the remote data model will be called asynchronously with the message as its argument.

History 2

TargetId

TypeDefault
string

This string contains a globally unique identifier for the target data model, which will be the same for any two plugin connections that target the same data model (even if those connections originate from different data models). This property is immutable.

This property is not replicated. Its interface does not cross the network boundary.
This property is read-only. Its value can be read, but it cannot be modified.

History 1

Tags: [ReadOnly, NotReplicated]

Type

TypeDefault
PluginConnectionTargetType

This PluginConnectionTargetType describes the relationship of the target data model to the current data model. For example, a value of PluginConnectionTargetType.Test means that the target data model is a playtest data model spawned from this data model. Alternatively, a value of PluginConnectionTargetType.Edit means the target data model is the edit session which spawned this test data model. This property is immutable.

This property is not replicated. Its interface does not cross the network boundary.
This property is read-only. Its value can be read, but it cannot be modified.

History 1

Tags: [ReadOnly, NotReplicated]

Settings