Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


EditorConnection

Handles the connection from the Editor to the Player.
Read time 5 minutesLast updated 7 days ago

Definition

public class EditorConnection : ScriptableSingleton<EditorConnection>

Remarks

Sets up events for connecting to and sending data to the Player.
This is a singleton class and can be accessed using instance.
This can only be used in a class that inherits from MonoBehaviour, Object or ScriptableObject.
Set the "Autoconnect Profiler" in the Build Settings or build the Player through code with the BuildPipeline using build options: BuildOptions.ConnectToHost and BuildOptions.Development to initialize the connection.
The Player ID is used to tell multiple connected Players apart. By default, data is sent to all Players. A connected Player's ID is not guaranteed to be the same the next time it connects.

Examples

using System;using UnityEngine;using UnityEditor;using System.Text;using UnityEditor.Networking.PlayerConnection;using UnityEngine.Networking.PlayerConnection;public class EditorConnectionExample : EditorWindow{ public static readonly Guid kMsgSendEditorToPlayer = new Guid("EXAMPLEGUID"); public static readonly Guid kMsgSendPlayerToEditor = new Guid("EXAMPLEGUID"); [MenuItem("Test/EditorConnectionExample")] static void Init() { EditorConnectionExample window = (EditorConnectionExample)EditorWindow.GetWindow(typeof(EditorConnectionExample)); window.Show(); window.titleContent = new GUIContent("EditorConnectionExample"); } void OnEnable() { EditorConnection.instance.Initialize(); EditorConnection.instance.Register(kMsgSendPlayerToEditor, OnMessageEvent); } void OnDisable() { EditorConnection.instance.Unregister(kMsgSendPlayerToEditor, OnMessageEvent); EditorConnection.instance.DisconnectAll(); } private void OnMessageEvent(MessageEventArgs args) { var text = Encoding.ASCII.GetString(args.data); Debug.Log("Message from player: " + text); } void OnGUI() { var playerCount = EditorConnection.instance.ConnectedPlayers.Count; StringBuilder builder = new StringBuilder(); builder.AppendLine(string.Format("{0} players connected.", playerCount)); int i = 0; foreach (var p in EditorConnection.instance.ConnectedPlayers) { builder.AppendLine(string.Format("[{0}] - {1} {2}", i++, p.name, p.playerId)); } EditorGUILayout.HelpBox(builder.ToString(), MessageType.Info); if (GUILayout.Button("Send message to player")) { EditorConnection.instance.Send(kMsgSendEditorToPlayer, Encoding.ASCII.GetBytes("Hello from Editor")); } }}

Properties

Property

Description

ConnectedPlayersA list of the connected Players.

Methods

Method

Description

DisconnectAllDisconnects all of the active connections between the Editor and the Players.
InitializeInitializes the EditorConnection.
RegisterRegisters a callback on a certain message ID.
RegisterConnectionRegisters a callback, executed when a new Player connects to the Editor.
RegisterDisconnectionRegisters a callback on a Player when that Player disconnects.
SendSends data to the connected Players.
TrySendAttempts to send data from the Editor to the connected Players.
UnregisterDeregisters a registered callback.
UnregisterConnectionUnregisters the connection callback.
UnregisterDisconnectionUnregisters the disconnection callback.

Inheritance

Inherited Members

Operators

Operator

Description

operator ==Compares two object references to see if they refer to the same object.
boolDetermines whether the object exists.
operator !=Compares if two objects refer to a different object.