🚀

Unityでexeを起動するランチャーを作った

2022/11/07に公開

はじめに

複数のexeファイル(Unityでビルドしたゲーム等)をまとめてリスト化し、起動できるランチャーを作りました。イベント等で複数のゲームを展示する際に、ショートカットアイコンから起動するよりも、格好がつくと思います。急ごしらえで作ったため、命名や設計等突っ込みどころは沢山ありますが、ご容赦ください。

https://github.com/TytoMan/Unity-Exe-Launcher

使い方

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