Unity Screen Navigator で単一シーン画面遷移を試してみた

Unity Screen Navigator (USN)

Haruma-K さんが制作された Unity の uGUI で画面遷移,画面遷移アニメーション,
遷移履歴のスタック,画面のライフサイクルマネジメントを行うためのライブラリです.

ドキュメント・使い方

日本語ドキュメントがとてもわかりやすいのでこれを読むだけで出来ます!

github.com

触ってみた所感とか注意点とか殴り書き

毎回オレオレ View 画面遷移機構を作っていたのですが,もうほぼ USN に任せてもいいくらいでした.
非同期と Addressables も利用できるので,今後2Dビュー画面の画面遷移を行う場合は USN を使っていきます.

一応 Push 遷移時にstack = trueにした場合は Prefab は非アクティブになっていることを念頭に置きます.

ページもモーダルも Push 遷移時に stack = false した場合は Pop 系のライフサイクルイベントは呼ばれない(それはそう)
なので,非表示時に何かしらのイベントを起こしたい場合は Cleanup を利用します.

ページから初めてモーダルを生成 (Push) した時は Push 系のライフサイクルイベントは呼ばれるが
この条件でモーダルを Pop した時,Pop 系のライフサイクルイベントは呼ばれないことに注意.
(Modal → push → Modal なら Pop した時に PopEnter, PopExit のイベントは呼ばれる)

1シーンに PageContainer,Modal Container は複数作れるけど,ぶっちゃけ PageContainer は1シーンに1つにした方がよさげ.

サンプルプロジェクト

一応簡単なサンプル作ったので,興味がある方は覗いてみてください.
github.com

参考資料

light11.hatenadiary.com