こんにちは!今回は、Unity向けのiOS/Android両対応プラグイン「NativePrompt」をGitHubで公開したのでご紹介します。
NativePromptとは?
一言でいうと、「iOS/Android OS標準のネイティブUI(ダイアログなど)をUnityから簡単に呼び出せるプラグイン」です。
ネイティブダイアログを呼び出すアセットやプラグインは世の中にたくさんありますが、ダイアログ以外にも対応しているのは、このプラグインのみではないでしょうか?(ちゃんと調べてはいない)
ダイアログだけじゃない!対応しているもの
ダイアログ以外にも以下のコンポーネントを手軽に呼び出せます。
-
Bottom Sheet(ボトムシート)
画面下部からサッと表示されるメニューUIです。画面全体を覆わずに、複数の選択肢を提示したい時に重宝します。 -
Toast(トースト)
数秒表示されてスッと消える通知メッセージです。「保存しました」など、ユーザーの操作を止めずに軽いフィードバックを返したい時に最適です。 -
Loading(ローディング表示)
API通信中などの待機表示です。わざわざuGUIでクルクル回るアニメーションを作らなくても、OSネイティブの待機UIをすぐに呼び出せます。
このプラグインのメリット
最大の魅力は、UnityのuGUIでゼロからダイアログを実装するよりも圧倒的に軽いことです。
- 動作が軽快: uGUIのCanvasやプレハブをロード・生成するコストがかかりません
- どんな端末でも確実: OS標準の洗練されたUIをそのまま使用するため、端末ごとの解像度やアスペクト比の違いによるレイアウト崩れの心配がありません
欠点とおすすめの「使い所」
一方で、欠点もあります。それは「見た目がOSのUIそのままなので、ゲームの世界観とはかけ離れてしまう(浮いてしまう)」ことです。
そのため、ゲーム内の世界観を重視する場面には向きませんが、以下のような「システム的な重要なお知らせ」には有用です。
- 課金時の最終確認ダイアログ
- Push通知のメッセージ表示
- 利用規約やプライバシーポリシーへの同意画面
- エラー時の警告表示
システム側のUIに任せるべきところはNativePromptに任せることで、アプリ全体の負荷を下げつつ、実装の手間を省くことができます。
使い方
導入はとてもシンプルです。詳しいセットアップ手順や呼び出し方のコード例は、リポジトリの README.md に記載しています。
おわりに
画期的な新機能というわけではありませんが、地味ながらも役立つツールになっていると思います。
もし使ってみて「ここが使いやすかった」「こんな機能がほしい」などあれば、ぜひGitHubのIssueで教えてください。リポジトリへの「★(スター)」もお待ちしています!
