Unity Screen Navigator (USN)
Haruma-K さんが制作された Unity の uGUI で画面遷移,画面遷移アニメーション, 遷移履歴のスタック,画面のライフサイクルマネジメントを行うためのライブラリです.
Unity用の画面遷移OSSライブラリ「Unity Screen Navigator」をリリースしました!
— Haruma-K / Haruki Yano (@harumak_11) 2021年10月26日
■特徴
・画面遷移を簡単かつ柔軟に
・画面のライフサイクルとメモリ管理
・複雑な画面遷移アニメーション実装可能
・その他、履歴管理やクリック防止など
■使い方https://t.co/OUCGSPvR85 pic.twitter.com/YylcCQShbe
ドキュメント・使い方
日本語ドキュメントがとてもわかりやすいのでこれを読むだけで出来ます!
触ってみた所感とか注意点とか殴り書き
毎回オレオレ 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
Unity Screen Navigator 把握 pic.twitter.com/JivTcxECG3
— Denik (@xrdnk) 2021年11月28日