Connecting the Unity Editor and Unity Player.
UnityEditorとUnityPlayerで簡単に通信を行う為のパッケージです。
Unity2019.4LTS以降
git clone https://github.com/katsumasa/RemoteConnect.git
- Click the add button in the status bar.
- The options for adding packages appear.
- Select Add package from git URL from the add menu. A text box and an Add button appear.
- Enter https://github.com/katsumasa/RemoteConnect.git in the text box and click Add.
UTJ.RemoteConnect.Player
を継承したClassをGameObjectにAddComponentします。 ※このGameObjectがUnityPlayerのActiveなSceneに存在する場合にのみUnityEditorとの通信が可能であることに注意して下さい。UTJ.RemoteConnect.Editor.RecmoteConnectEditorWindow
を継承したClassを作成します。- 上記で作成した
UTJ.RemoteConnect.Player
・UTJ.RemoteConnect.Editor.RecmoteConnectEditorWindow
を継承したClassにkMsgSendEditorToPlayer
とkMsgSendPlayerToEditor
を設定し、データを受信した時の処理を作成しremoteMessageCBへ追加します。 - Development Buildにチェックを入れてビルドを行います。
- ビルドしたアプリケーションをデバイス上で実行します。
- Unity Editor上で
UTJ.RemoteConnect.Editor.RecmoteConnectEditorWindow
を開きます。 - 上記Window上でプルダウンメニュー
Connect To
から接続するデバイスを選択します。
説明 | |
---|---|
remoteMessageCB | Editorからのメッセージを受信した時に実行されるデリゲート |
kMsgSendEditorToPlayer | EditorからPlayer用固有識別子 |
kMsgSendPlayerToEditor | PlayerからEditor用固有識別子 |
isConnected | Editor/Player間の接続が行われているか(read only) |
説明 | |
---|---|
SendRemoteMessage | 任意のバイト配列をUnityEditorへ送信します |
public class SamplePlayer : UTJ.RemoteConnect.Player
{
protected override void OnEnable()
{
kMsgSendEditorToPlayer = new System.Guid("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
kMsgSendPlayerToEditor = new System.Guid("yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy");
remoteMessageCB = MessageReciveCB;
base.OnEnable();
}
void MessageReciveCB(UTJ.RemoteConnect.Message remoteMessageBase)
{
// 何かメッセージを受信した時の処理
}
}
説明 | |
---|---|
remoteMessageCB | Editorからのメッセージを受信した時に実行されるデリゲート |
kMsgSendEditorToPlayer | EditorからPlayer用固有識別子 |
kMsgSendPlayerToEditor | PlayerからEditor用固有識別子 |
isConnected | Editor/Player間の接続が行われているか(read only) |
説明 | |
---|---|
SendRemoteMessage | 任意のバイト配列をUnityEditorへ送信します |
public class Sample SampleEditorWindow : RemoteConnectEditorWindow
{
[MenuItem("Window/Sample")]
static void OpenWindow()
{
var window = (SampleEditorWindow)EditorWindow.GetWindow(typeof(SampleEditorWindow));
}
protected override void OnEnable()
{
kMsgSendEditorToPlayer = new System.Guid("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
kMsgSendPlayerToEditor = new System.Guid("yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy");
remoteMessageCB = MessageReciveCB;
base.OnEnable();
}
void MessageReciveCB(UTJ.RemoteConnect.Message remoteMessageBase)
{
// 何かメッセージを受信した時の処理
}
}
フィードバック・コメントお待ちしております。
以上