Roblox UtilitiesDevlHub Roblox Documentation

Class

PluginConnection

NotCreatableNotReplicated
Inherits
Object
Memory category
Instances

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

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().

Properties 3#

ConnectedbooleanWhether this PluginConnection object is still connected.Read: PluginSecurityWrite: PluginSecurityReadSafeReadOnlyNotReplicated
TargetIdstringA unique ID for the target data model.Read: PluginSecurityWrite: PluginSecurityReadSafeReadOnlyNotReplicated
TypePluginConnectionTargetTypeThis PluginConnectionTargetType describes the relationship of the target data model to the current one.Read: PluginSecurityWrite: PluginSecurityReadSafeReadOnlyNotReplicated

Connected: boolean#

ReadOnlyNotReplicatedRead: PluginSecurityWrite: PluginSecurityReadSafe

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.

TargetId: string#

ReadOnlyNotReplicatedRead: PluginSecurityWrite: PluginSecurityReadSafe

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.

Type: PluginConnectionTargetType#

ReadOnlyNotReplicatedRead: PluginSecurityWrite: PluginSecurityReadSafe

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.

Methods 2#

BindToMessageBinds a callback to this PluginConnection to receive messages from SendMessage().PluginSecurity security
SendMessageSends a payload to the remote data model.PluginSecurity security

BindToMessage(callback: Function): RBXScriptConnection#

PluginSecurity security

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.

NameTypeDefaultDescription
callbackFunctionA function accepting a string or a buffer which will be called when this PluginConnection receives a message.
Returns

SendMessage(message: Variant): ()#

PluginSecurity security

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.

NameTypeDefaultDescription
messageVariantThe string or buffer to be sent.
Returns
  • ()

Inherited members#

Inherited from Object 6
Properties (2)

ClassName, className

Events (1)

Changed