ニュース

Top  >   15. C#とMonoBehaviour  >   Q, 数百個のデータを共通管理したい

Q, 数百個のデータを共通管理したい

2026/03/18

メインコンテンツへスキップ
< すべてのカテゴリに戻る

A,結論

「ScriptableObject」を作成します。

原因 / 背景

プレハブごとに数値を持つとメモリが無駄になりますが、SOなら一つの設定ファイルを全員で参照できるからです。

実装 / 手順

ScriptableObjectクラスを継承したスクリプトを作成し、Projectウィンドウからアセット化します。

サンプルコード

using UnityEngine;

[CreateAssetMenu(fileName = "CharacterBalanceData", menuName = "Game Data/Character Balance Data")]
public class CharacterBalanceData : ScriptableObject
{
    [Header("Basic Stats")]
    public int maxHp = 100;
    public int attackPower = 10;
    public float moveSpeed = 3.5f;

    [Header("XR Settings")]
    public float grabDistance = 0.2f;
    public float teleportCooldown = 0.5f;
}

※ 実機確認が必要な項目は、Editor だけで判断せず対象デバイスでも必ず動作確認してください。

難易度:Level 3(中級)
対象プラットフォーム:PC,Android,iOS,Unity
関連キーワード:アセット,データ管理,メモリ,共通化

Level 3-5 向けバナー 1Level 3-5 向けバナー 2