Unityでexeを起動するランチャーを作った
はじめに
複数のexeファイル(Unityでビルドしたゲーム等)をまとめてリスト化し、起動できるランチャーを作りました。イベント等で複数のゲームを展示する際に、ショートカットアイコンから起動するよりも、格好がつくと思います。急ごしらえで作ったため、命名や設計等突っ込みどころは沢山ありますが、ご容赦ください。
使い方
ZIPファイルをダウンロード、解凍し、Unity Hub から Add project from disk で Unity-Exe-Launcher を指定すればプロジェクトを開けます。
デフォルトでは Assets / GameInfo にサンプルとして Game A ~ F の Game Info Scriptable Object が入っています。Game Info Scriptable Object はProjectパネルから 右クリック > Create > Game Info で作成できます。
- Path: exeファイルのパス
- Game Name: ゲームの名前
- Creator Name: 製作者の名前
- Explanation: ゲームの概要
- Background Texture: ゲームを選択した時の背景画像
上記の項目を設定したら、Mainシーンの Canvas - UI にアタッチされている Canvas Group Manager の Game Infos に作成した Game Info Scriptable Object を登録し、後は実行するだけです。ビルド後であっても、右側のパネルの右下の Path... から実行するexeファイルのパスを編集することができます。また、右側のパネルの右上には小さく数字が表示されており、[起動回数] ([起動時間]) を表しているので、どのゲームがどれくらい遊ばれたのかを調べることができます。
注意点
このランチャーは 1920x1080 を前提としたUI設計のため、それ以下の解像度では、配置が崩れてしまうので、その場合はUIの大きさを調整する等して対応してください。ゲームをプレイする際は右下のPlayボタンから実行できますが、対象のゲームを実行中はランチャーはフリーズしてしまいます。対象のゲームを停止すると再び動きだすので、バグではありません。また、Canvas Group Manager コンポーネントの Note Text からはゲームを起動中にランチャーに表示される文章を指定することができます。文章内に {0} を入力することで、ゲーム名を挿入できます。なお、編集したパスや起動回数、起動時間はPlayerPrefsで保存しているため、データをリセットする際はPlayerPrefsのデータを削除して下さい。詳しくは "PlayerPrefs 削除" で調べれば出てくると思います。
Discussion