YUIMgrの強み

初期化の手間がいらず、仮想解像度で広いデバイスに対応

 初期化はストアからダウンロード後、数行で完了します。
最初に設定した仮想解像度で動作するため、デバイスの解像度に左右されずにUIを配置できます。

YUIMgr チュートリアルNo.1

常に数行のスクリプトでGUI表示

 Widget一つにつき表示するためのスクリプトは2〜6行程度です。
共通する設定がおおければ継承クラスを利用する事で常にもっと少ない行数で配置もできます。

共通GUI処理の共通スクリプト化

 ある2つのUIで同じ表示をする部分は共通ウィンドウとして登録すれば作業量を軽減する事ができます。 パラメータで動的に表示内容を変更する事も簡単に出来るのでUIに関連する作業量を大きく減らせるでしょう。

YUIMgr チュートリアルNo.2

確認・判断などの汎用UIはパッケージに梱包

 確認のためのウィンドウやYes/Noを判定するウィンドウは結構必要になると思います。
しかし毎回作るのはちょっと面倒。そこで汎用ウィジェットとしてパッケージに梱包しています。
カスタマイズも継承も可能なのでアプリに適したウィジェットにして利用してください。

背面・3Dも含めた複数のレイヤーをサポート

 UIの描画位置として、通常描画に加え

  • 前面レイヤー
  • 背面レイヤー(3Dオブジェクトよりも後ろ)
  • 3DUIレイヤー

の対応をしています。 アプリ上のUIの用途に合わせて組み合わせでご利用ください。

GUI以外にも利用可能な非同期ロード処理

 YUIで利用するリソースはYUIAsyncとYUIMgrAsyncによってロードします。
YUIAsyncは

  • ローカルのResources
  • アセットバンドル
  • httpRequestによるjpgやpng画像取得

に対応しており、全て非同期処理(ノンブロッキング)となっています。
ローカルResourcesとアセットバンドルについては画像以外のあらゆるタイプに対して ロード処理が利用できます。その場合は戻り値のYUIAsyncで同期完了かどうかをチェックしてください。

※直接ロードしたSpriteやTextureをセットして描画する事ももちろん可能です

カラーを含む基本Tweenのサポート

 UIは魂の篭った場所以外はそれなりに動けば良いという事も多々あります。
そこで移動・回転・スケール・カラー・アルファ値のTween機能はパッケージに梱包しています。
この機能はあらゆるタイプのWidgetに適用可能です。

C#スクリプト標準機能での提供

 全て標準のC#スクリプトでの提供となります。pluginも使用しておりません。
中身は全てクリアになっており、プロジェクトに合わせて修正する事もできます。
標準の処理だけ行っているのでプラットフォーム依存は基本的にありません。

YUIMgrの問題点

全てC#のためJavaScriptからは利用できない

現時点ではJavaScriptからコールする事ができないため利用できません。

※StandardAssetsへYUIMgrフォルダを移動すれば先にコンパイルされるためJSからも
呼べるかもしれません。動作は未確認となります。

簡単なラベルやボタンを配置するだけなら手間は増える

このアプリではラベルとボタンが一つだけ表示できればいい という場合は
YUIMgrの導入により、むしろ手間が増えるかもしれません。
前述の初期化時における仮想解像度の設定はどの状態でも役に立ちます。