自分用の覚え書きです。
プレイヤーが途中でゲームを止めたときに、その時点でのデータをセーブし、次回始めたとき続きからできるようにする方法です。
こちらのサイト様を参考にさせてもらいました(というか、おんぶに抱っこですが)
データはint,float,stringでできるようです。
<スクリプト> Empty Object(GameController)に以下のスクリプトをドロップします。
レベルはプレイヤーが現在プレイしているレベルを変数に入れるようにすればOKかと思います。(下の例はStart()に入れているので保存する意味はないと思います)
using UnityEngine;
using System.Collections;
public class GameController : MonoBehaviour {
public int money = 0;
public float timer = 0;
public string level;
void Awake ()
{
money = PlayerPrefs.GetInt("money");
timer = PlayerPrefs.GetFloat("timer");
level = PlayerPrefs.GetString("level");
}
void Start ()
{
level = "Level1";
PlayerPrefs.SetString("level",level);
}
void Update ()
{
timer += Time.deltaTime;
PlayerPrefs.SetFloat("timer",timer);
}
void OnGUI ()
{
if (GUI.Button(new Rect(5, 5, 100, 50), "+ 10$")) {
money +=10;
PlayerPrefs.SetInt("money", money);
}
if (GUI.Button(new Rect(5, 60, 100, 50), "Data Clear")) {
money = 0;
timer = 0;
PlayerPrefs.DeleteKey("money");
PlayerPrefs.DeleteKey("timer");
}
GUI.Label(new Rect(5, Screen.height/2 - 20, Screen.width-10, 50), "Level : "+level);
GUI.Label(new Rect(5, Screen.height/2 , Screen.width-10, 50), "Money : "+money + " $");
GUI.Label(new Rect(5, Screen.height/2+ 20, Screen.width-10, 50), "Time : "+timer);
}
}
<実行結果> +10$を押すと10$ずつ加算され、Data Clearを押すと、タイマーとお金がリセットされます。自動的に終了時点のデータが保存され、再開するとデータがロードされて続きから始められます。

<コマンドのことなど>・ロード
money = PlayerPrefs.GetInt("money");
timer = PlayerPrefs.GetFloat("timer");
level = PlayerPrefs.GetString("level");
・セーブ
PlayerPrefs.SetInt("money", money);
PlayerPrefs.SetFloat("timer",timer);
PlayerPrefs.SetString("level",level);
・データクリアー
PlayerPrefs.DeleteKey("money");
----------------- <ご注意>私自身が全くの超初心者ですので、文中まちがいがあるかも知れません。その際はご容赦をお願いします。<(_ _)>