UnityのSwitch Platform忘れを検出するEditor拡張つくった!
visionOSにSwitch Platformするのを忘れて、Play to Deviceで事故るのはもう嫌なので、アクティブなPlatformを監視してvisionOSじゃなかったらエラー出力するツールを作りました!
ついでにvisionOS以外にも対応しました!
OpenUPMで公開しているので、誰でも利用できますー
Platform Watcher
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F221845%2Fee925592-ac92-957e-ea1f-27be2d1df1be.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=6077c1921a42b55897eafc157a1409a9)
どんなツールなの?
このツールは、UnityのPlatformが指定されたものでない場合にエラーを表示します。
たとえば、WebGLアプリ開発用のUnityプロジェクトを複数人で開発していて、メンバーの一人がPlatformをWebGLに切り替えないまま作業を進めてしまい、謎のビルドエラーに遭遇してトラブルシューティングに多くの時間を費やした経験はありませんか?
このツールを使えば、Switch Platformを忘れていたらエラーが表示されるので、すぐに気づくことができます!
ぜひお試しください!
動作環境
Unity 2019.4 以上
インストール方法
Node.jsでインストールする場合
Node.jsがインストール済みのPCの場合は、以下のコマンドでパッケージをインストールできます。
# openupm-cli をインストール
npm install -g openupm-cli
# Unityプロジェクトへ移動
cd YOUR_UNITY_PROJECT_DIR
# Platform Watcherをインストール
openupm add com.segur.platform-watcher
Package Managerでインストールする場合
Unity標準のPackage Managerでインストールしたい場合は、Scoped Registryの登録作業が必要になります。
手順は以下のページが詳しいので、ご参照ください!
Scoped Registryの登録ができたら、Package Managerから com.segur.platform-watcher
というパッケージをインストールしてください。
使い方
Platform Watcherを開く
Tools > Platform Watcher
を開きます。
すると、以下のようなウィンドウが現れます。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F221845%2Fde01c48e-77f3-1ea7-c385-1b5a0eaf9bc1.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=43dfffe8d1b6b420f077b4fdb43369ec)
好きなPlatformを選択する
Unknown
となっている箇所をクリックし、お好みのPlatformを選択してください。
たとえば、 Vision OS
を選択すると以下のようになります。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F221845%2Fee925592-ac92-957e-ea1f-27be2d1df1be.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=6077c1921a42b55897eafc157a1409a9)
Platformが間違っていないか監視する
- もし、アクティブなPlatformが
Vision OS
だったら、エラーメッセージは表示されません。 - もし、アクティブなPlatformが
Vision OS
ではなかったら 、エラーメッセージが表示されます。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F221845%2F38978f86-a582-2d0a-e484-d8993fd277a2.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=8264f53d4233be1506137d1164df5552)
複数Platform対応
複数のPlatformを選択できます。
たとえば、iOSとAndroidを同時に選択すると以下のようになります。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F221845%2F88f257f2-686e-a46a-3f27-877fe606b03f.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=47e893ae89dc9ef24a7d2e1d8ac611d8)
設定ファイル
どのPlatformを選択しているのか?という情報は ProjectSettings
フォルダー配下の PlatformWatcherSetting.json
というファイルに保存されます。
この設定ファイルをGit等で共有すれば、複数人でUnityプロジェクトを開発している場合でも、設定を共有できます!
さいごに
本記ツール開発にあたり、以下のページを参考にさせていただきました。ありがとうございました。