「ノベルゲームのセーブ機能を作りたい」
「データ保存とロードの方法を知りたい」
セーブ/ロード機能の実装方法を各ツール別に解説します。
✨ この記事でわかること
- 各ツールでのセーブ/ロード実装方法(ティラノビルダー、Unity)
- データ保存形式の選び方
- セーブポイントの設定方法
- プレイヤープログレス管理の手法
- Unityでの実装例(コード例付き)

セーブ機能は、プレイヤーの進行を保存することが重要です。まずは基本的な実装方法から理解しましょう。
\あなたにピッタリのゲーム制作講座を見つけよう!/
おすすめ第1位
Unity ノベルゲームの
作り方講座
かまいたちの夜・ダンガンロンパ風のノベルゲームをゼロから開発。会話システム・シナリオ分岐・セーブ機能まで、初心者から上級者まで対応の丁寧な解説で確実に完成できます。
初心者にもおすすめ
Unity ノンフィールドRPG
+スレスパ風JRPG講座
Unity6対応・スマホ化対応の三拍子。トレンドのデッキ構築型システムを最速で実装できます。初心者が最初に学ぶ一本として最適です。
AI開発力が身につく
経営シミュレーション×
農場ゲームの作り方講座
Unity6対応・農場×経営の2ジャンル融合。AIエージェントを独自実装できる唯一の講座。未経験でも完成まで到達できる丁寧な解説が魅力です。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。
各ツールでのセーブ/ロード実装方法

ノベルゲームのセーブ/ロード機能は、使用する開発ツールによって作り方が大きく異なります。
ノベルゲーム制作には、大きく分けて次の2つのアプローチがあります。
- 専用ツールを使い、用意された機能を設定する方法
- ゲームエンジンを使い、セーブ処理を自分で実装する方法
ここでは代表例として、ティラノビルダーとUnityを取り上げ、「セーブ機能をどう作るのか」という考え方の違いを見ていきます。
設定中心で実装する:ティラノビルダー
ティラノビルダーは、ノベルゲーム制作に特化したツールです。
そのため、セーブ/ロード機能は標準で用意されており、自分で保存処理を書く必要はありません。
所要時間は30分程度です。
ステップ1:セーブ機能の有効化(所要10分)
- プロジェクト設定で「セーブ機能」を有効化
- セーブスロット数を設定(例:10個)
ステップ2:セーブポイントの設定(所要20分)
- セーブしたい場所に「セーブポイント」を配置
- プレイヤーがセーブできるタイミングを設定
このように、ティラノビルダーでは「どこでセーブできるか」を決めるだけで、基本的なセーブ/ロード機能を導入できます。
処理を自作して実装する:Unity
Unityは汎用的なゲームエンジンのため、セーブ/ロード機能は自分で設計・実装する必要があります。
その分、
- 保存するデータの内容
- データ保存形式(JSON、Binaryなど)
- セーブポイントや自動セーブの挙動
を自由にカスタマイズできます。
所要時間は3時間程度です。

本記事では、Unityでノベルゲームのセーブ機能を実装する方法を中心に、このあと詳しく解説していきます。
データ保存形式の選び方

Unityでセーブ/ロード機能を実装する場合、いきなりコードを書くのはおすすめできません。
まず最初に決めるべきなのが、「ゲームの進行状況を、どの形式で保存するか」という設計です。
保存形式によって、
- 実装のしやすさ
- デバッグのしやすさ
- 将来的な拡張性
が大きく変わります。
ここでは、Unityでノベルゲームを制作する際によく使われる代表的なデータ保存形式を紹介します。
| 形式 | メリット | デメリット | こんな場合におすすめ |
| JSON | 読みやすい、編集しやすい | ファイルサイズがやや大きい | 小規模なノベルゲーム、初心者向け |
| Binary | ファイルサイズが小さい、高速 | 中身が読めない、実装難易度が高い | データ量が多い作品、パフォーマンス重視 |
| PlayerPrefs | 実装が簡単、Unity標準 | 保存できるデータ量が少ない | 設定情報やフラグ管理のみ |
ノベルゲーム制作が初めての場合は、JSON形式を選ぶのがおすすめです。
保存内容を目で確認できるため、セーブデータの中身とゲームの挙動を結び付けて理解しやすくなります。
次のセクションでは、このJSON形式を使ってUnityで実際にセーブ/ロード機能を実装する方法を解説します。
Unityでの実装例(コード例付き)

Unityでのセーブ/ロード機能の実装例を解説します。
所要時間は3時間程度です。
ステップ1: セーブデータクラスの作成(所要30分)
以下のコードをコピペしてください:
|
1 2 3 4 5 6 7 8 9 10 |
using System; [Serializable] public class SaveData { public int currentDialogueIndex; public string playerName; public int affection; public DateTime saveTime; } |
ステップ2: セーブ処理の実装(所要1時間)
以下のコードをコピペしてください:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
using UnityEngine; using System.IO; using System; public class SaveLoadManager : MonoBehaviour { private SaveData saveData = new SaveData(); public void SaveGame(int slotIndex) { // セーブデータを設定 saveData.currentDialogueIndex = GetCurrentDialogueIndex(); saveData.playerName = GetPlayerName(); saveData.affection = GetAffection(); saveData.saveTime = DateTime.Now; // JSON形式で保存 string json = JsonUtility.ToJson(saveData); string savePath = Application.persistentDataPath + "/save" + slotIndex + ".json"; File.WriteAllText(savePath, json); Debug.Log("セーブ完了: " + savePath); } public void LoadGame(int slotIndex) { string savePath = Application.persistentDataPath + "/save" + slotIndex + ".json"; if (File.Exists(savePath)) { // JSON形式で読み込み string json = File.ReadAllText(savePath); saveData = JsonUtility.FromJson(json); // ゲーム状態を復元 SetCurrentDialogueIndex(saveData.currentDialogueIndex); SetPlayerName(saveData.playerName); SetAffection(saveData.affection); Debug.Log("ロード完了: " + savePath); } else { Debug.Log("セーブデータが見つかりません: " + savePath); } } // ヘルパーメソッド(実際の実装に合わせて変更) private int GetCurrentDialogueIndex() { return 0; } private string GetPlayerName() { return "プレイヤー"; } private int GetAffection() { return 0; } private void SetCurrentDialogueIndex(int index) { } private void SetPlayerName(string name) { } private void SetAffection(int value) { } } |
コードの説明:
SaveData: セーブデータを格納するクラスSaveGame(): ゲームをセーブするLoadGame(): ゲームをロードするJsonUtility: JSON形式でデータを保存・読み込み
ステップ3: セーブスロットUIの作成(所要1.5時間)
- Canvasを右クリック→「UI」→「Button – TextMeshPro」
- ボタンを3つ作成(セーブスロット1、2、3)
- 各ボタンに「SaveLoadManager」スクリプトをアタッチ
- ボタンクリック時にセーブ/ロード処理を実行
この手順で、セーブ/ロード機能が完成します。
セーブポイントの設定方法

セーブポイントの設定方法を解説します。
所要時間は1時間程度です。
自動セーブ
一定のタイミングで自動的にセーブします。
例:
- 章の終わりで自動セーブ
- 選択肢の前で自動セーブ
手動セーブ
プレイヤーが任意のタイミングでセーブします。
例:
- メニューからセーブ
- セーブポイントでセーブ
この方法で、セーブポイントを設定できます。
プレイヤープログレス管理の手法

プレイヤープログレス管理の手法を解説します。
所要時間は1時間程度です。
- 進行状況:現在のセリフID、章番号
- 選択肢の履歴:プレイヤーが選んだ選択肢
- フラグ管理:イベントの発生状況
この方法で、プレイヤーの進行状況を管理できます。
よくある質問

ノベルゲームを作りたいなら!Unity入門の森の講座でオリジナルゲーム開発に挑戦しよう
Unity入門の森には、ノベルゲームをはじめ幅広いジャンルのゲームを作れる講座が揃っています。作りたいゲームや身につけたいスキルに合わせて選んでみてください。
Unity ノベルゲームの作り方講座【全14回!会話システムからシナリオ分岐まで他ジャンルにも応用できるUIスキルが身につく!】

- かまいたちの夜・ダンガンロンパ・逆転裁判風のゲームをゼロから開発
- テキスト文字送り・選択肢・シナリオ分岐・セーブまで完全実装
- Googleスプレッドシートを使ったシナリオ管理システムを習得
- 会話システム・UI遷移は他ジャンルのゲームにも応用可能
- 初心者から上級者まで対応の丁寧な解説とソースコード付き
Unity ノベルゲームの作り方講座は、かまいたちの夜・ひぐらしのなく頃に・ダンガンロンパ・逆転裁判のようなテキスト主体のゲームを作るための講座です。
会話システム・シナリオ分岐・セーブ機能はもちろん、UniTaskを用いた非同期処理やGoogleスプレッドシートを使ったシナリオ管理など、中・上級者のスキルアップにも直結する実践的な開発テクニックが身につきます。
ノベルゲームに限らず、会話システムやUI遷移はあらゆるジャンルに使える汎用スキル。ゲーム開発の引き出しを大きく広げたい人におすすめの一本です。
会話システム・シナリオ分岐・セーブまで完全実装
ノベルゲームで身につくUIスキルは全ジャンルの武器になる
→ Unity ノベルゲームの作り方講座を見てみる
汎用性の高いUIスキルを今すぐ習得して開発の幅を広げよう!
Unity ノンフィールドRPG+スレスパ風JRPG講座【Unity6対応!デッキ構築×JRPGをスマホ向けに作れる!】

- Unity6対応・スマホ化対応で最新環境のゲーム開発が学べる
- Slay the Spire風のデッキ構築システム×JRPGの組み合わせを実装
- 初心者でも取り組みやすい丁寧な解説構成
- ノンフィールドRPGとデッキ構築JRPGの2つを合わせて学ぶのがおすすめ
Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座は、今もっともトレンドのデッキ構築型ゲームシステムをJRPGと組み合わせて実装する方法を学べる講座です。
Unity6対応・スマホ化対応の最新カリキュラムで、デッキ構築の核となるシステムをしっかり習得できます。ノベルゲームで培ったUI・シナリオ設計の知識とも相性がよく、ゲーム開発の幅がさらに広がります。
「Slay the Spireみたいなゲームを自分でも作ってみたい!」という人の最初の一歩として最適な講座です。
Unity6対応・スマホ化対応の最新カリキュラム
トレンドのデッキ構築×JRPGを最速で実装しよう
→ Slay the Spire風デッキ構築JRPG講座を見てみる
スマホ対応の最新環境で、ゲーム開発の第一歩を踏み出そう!
経営シミュレーション×農場ゲームの作り方講座【Unity6対応!AIエージェント実装まで学べる唯一の講座!】

- 未経験でも完成まで到達できる丁寧な解説
- 農場×経営の2ジャンルを同時に作れる
- 賢く自律行動するAIエージェントを独自実装できる
- 完成後も街づくりゲームに応用可能な高い拡張性
- Unity6対応のモダンな開発手法が身につく
経営シミュレーション×農場ゲームの作り方講座は、シムシティ・牧場物語・どうぶつの森のようなゲームを自分で作れるようになる講座です。
農作物の育成・収穫・販売システムはもちろん、NavMeshを使ったお客さんAIの来店・購入・帰宅の自律行動や、ルールベースAIによる従業員エージェントの実装まで、本格的なゲームAI開発が学べます。
ノベルゲームのシナリオ設計とは異なる「AI・ゲームロジック設計」のスキルを身につけて、開発できるゲームの幅をさらに広げましょう。
Unity6対応・AIエージェント実装まで学べる
農場も経営もコレ1本で完成させよう
→ 経営シミュレーション×農場ゲーム講座を見てみる
応用・拡張性は無限大!自律行動するAIを実装して一歩先のゲーム開発へ!
まとめ

セーブ/ロード機能の実装方法を解説しました。
各ツールの実装方法を理解すれば、プレイヤーの進行を保存できます。
所要時間は3時間程度で、基本的なセーブ/ロード機能が実装できます。
もっと高度なセーブ機能を実装したい場合は、Unity入門の森で実践的なスキルを身につけましょう。
✅ 今日から始める3ステップ
- STEP1:セーブデータクラスを作成(所要30分)
- STEP2:セーブ/ロード処理を実装(所要1時間)
- STEP3:セーブスロットUIを作成(所要1.5時間)
本格的にUnityを学びたい方は、Unity入門の森で実践的なスキルを身につけましょう。
あなたのペースで、少しずつ進めていけば大丈夫です。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。





コメント