ちゃこブログ

お絵かきとUnityとBlenderと日記

【Unity】UnitySceneMenu ver2.0.0をリリース!

UnitySceneMenu ver2.0.0をリリース

 UnitySceneMenu ver2.0.0をリリースしました。
UnitySceneMenuは私のお気に入りのアセットで、これがないと開発に困るレベルに使い込んでます。利用していて発見したバグや不便に感じたところをすべて解消したのがver2.0.0になります。とてもパワーアップしたので是非試していただきたいです!

assetstore.unity.com
github.com

ver2.0.0のあれこれ

シーンをGUIDで管理

 今までメニューに登録していたシーンがパスで管理されていたため、シーンを別のフォルダへ移動したり名前を変えたりするとメニューからいなくなってしまっていました。これをGUIDベースでの管理に変更したことでこのような不便な動作が解消されました。最初からそういう実装にしておけばよかったのにね。

基本シーンの数を設定できるように

 メニューを選択すると最初のシーンが必ず読み込まれるようにしているのですが、これを基本シーンと定義します。プロダクトによっては最初に読み込んでおいてほしいシーンが複数ある場合があり、設定を変更出来たらいいなと思い基本シーンの数を指定できるようにしました。単純に先頭から基本シーンをいくつ設定するかという実装になってます。
f:id:charcotte:20190401205523p:plain

メニューでビルド設定を管理

 バージョン1では、フォルダのパス以下に存在するシーンをビルド設定へ登録していました。フォルダを指定したうえで、最初のシーンも設定しなければならないという面倒くさいオプション付きです。
プロダクトによっては、フォルダ構造が複雑で1つのフォルダで指定するのが面倒になるケースがありました。フォルダ指定にするならいっそメニューで管理した方がわざわざ最初のシーンを設定する等の手間も省けるし複雑な実装もいらないのでは!?と解決策を(今更)発見したので実装してみました。こっちの方が断然柔軟に管理できるのでお試しあれ。

f:id:charcotte:20190401205530p:plain

ReorderableListからTreeViewへの移行

 バージョン1のときはReorderableListを利用してソートの実装していましたが、完全にTreeViewに置き換えました。理由は用意されているAPIがTreeViewの方が多くて圧倒的に使いやすいからです。ドラッグで要素を入れ替えるのはどちらでも実現可能ですが、要素名の変更・シングル/ダブルクリック/右クリックの判定などが楽ちんに実装できるのはTreeViewです。しかしTreeViewはReorderableListのようにぬるぬる動く要素の入れ替えができませんので、見た目に拘るのならReorderableListを利用するという使い分けになるのかな?と思ったのですが実際のところどうなんでしょうか。。

一度AssetStoreで審査落ちちゃったよ

f:id:charcotte:20190401210924p:plain
雑訳:非公式の分際でKeyImageにUnityロゴ使うなや

ほげぇぇ
最初のリリースから使ってるし!何を今更言うだぁ!

・・・とストア様に逆らっても仕方ありませんので、文句を添えつつUnityロゴを消して再提出しました。
SceneアセットがUnityロゴなのこういう時に面倒だなと感じました。

前のロゴとても気に入ってたのでちょっとしょんぼりしてます(´・ω・`)
クソダサイメージになっちゃいましたが今後ともよろしくお願いします。
f:id:charcotte:20190401211041p:plain