C#スクリプトで、Unity のゲームを終了させる方法を書いていきます。
コード例
Unityエディタと、スタンドアロンで終了させる例です。
using UnityEngine; public class GameController : MonoBehaviour { void Quit() { #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #elif UNITY_STANDALONE UnityEngine.Application.Quit(); #endif } void Update () { if (Input.GetKey(KeyCode.Escape)) Quit(); } }
※ Windows PC のみ動作確認しています。
Escape を押されたときに Quit()
が実行されます。
解説
#if
, #elif
,#endif
は条件付きコンパイルになります。
Unityエディタ(開発環境)でゲームを実行している場合は、
UnityEditor.EditorApplication.isPlaying = false;
で終了します。
スタンドアロンで実行している場合は、
UnityEngine.Application.Quit();
で終了します。
スクリプトの追加方法
自分の場合、上のスクリプトをゲームを管理するような GameObject に追加したりしてます。手順は以下の通りです。
Unityエディタの Hirerarchy で Create を押して Create Empty を選択します。
適当な名前(例:Game)に変更して、スクリプト(例:GameController)を追加します。
スクリプトを開いて、終了処理を追加します。
※ 他の方法もあると思います。