使用環境
・Unity Editor:2021.3.18f1
この記事で分かること
- Unityで初回起動を判定する仕組みの作り方
- PlayerPrefsを使ったシンプルな実装例
- 初回のみ処理を走らせる汎用ユーティリティ
- チュートリアル表示・設定リセット・レビュー催促などへの応用
初回起動か判定する方法とは?
ピッグダディ
今回は「Unityで初回起動かどうかを判定する方法」を紹介します。チュートリアルや初期設定のタイミングを制御するには欠かせない処理ですね。
ピッグボーイ
えっ、アプリって「最初の1回だけ」処理を走らせるとかできるんですか?
ピッグガール
PlayerPrefsっていう機能を使えばできるって聞いたことがあります!
ピッグダディ
その通り!
この記事では、PlayerPrefsを使った初回起動フラグの実装方法と応用アイデアまで、すぐに使えるコード付きで解説します!
初回起動判定はどうやって行う?
Unityでは、ローカル端末にデータを保存できるPlayerPrefsという機能があります。
このPlayerPrefsにフラグ(数値や文字列)を保存しておけば、
- 初回:キーが存在しない(未登録)
- 2回目以降:値が登録されている
という仕組みで、簡単に判定できます。
【コピペOK】初回起動チェックの実装方法
Step1:初回判定用のユーティリティスクリプト
public static class FirstLaunchChecker
{
private const string KEY = "HasLaunchedBefore";
public static bool IsFirstLaunch()
{
if (PlayerPrefs.HasKey(KEY))
{
return false;
}
else
{
PlayerPrefs.SetInt(KEY, 1);
PlayerPrefs.Save();
return true;
}
}
public static void ResetLaunchFlag()
{
PlayerPrefs.DeleteKey(KEY);
}
}
Step2:使用例(初回のみチュートリアルを表示)
using UnityEngine;
public class StartupManager : MonoBehaviour
{
public GameObject tutorialPanel;
void Start()
{
if (FirstLaunchChecker.IsFirstLaunch())
{
Debug.Log("初回起動!チュートリアル表示");
tutorialPanel.SetActive(true);
}
else
{
Debug.Log("2回目以降の起動です");
tutorialPanel.SetActive(false);
}
}
}
応用アイデア
ユースケース | 処理内容 |
---|---|
初回だけチュートリアルを表示 | UIパネルのON |
初回だけ「通知をONにしますか?」表示 | 許諾ダイアログ表示 |
初回だけ無料アイテム付与 | アイテム付与+ログ送信 |
レビュー催促の条件に「3回目以降の起動」など追加 | 起動カウント保存に拡張可 |
注意点・補足
- PlayerPrefs はアプリを削除・再インストールすると消えます(※iCloudバックアップ対象外)
- 本格的な保存管理を行いたい場合は SecurePlayerPrefs や クラウド保存(PlayFab等) との組み合わせも有効
まとめ
項目 | 内容 |
---|---|
PlayerPrefsで初回起動かを判定可能 | |
SetInt()+HasKey()でフラグを保存・判定 | |
チュートリアル・初期設定・レビュー催促など幅広く応用可 | |
コピペOKのユーティリティで簡単導入 |
「初回だけ○○したい」をシンプルに実現できるこの仕組みを、
あなたのUnityアプリにぜひ活用してみてください!