XScritpableDB
- Digital2,000 JPY













XScriptableDB は「ゲーム開発で増え続けるマスターデータを、安全かつ高速に運用する」ための Unity 向けデータベース基盤です。 ScriptableObject を中心に設計されているため、Unity のワークフローに自然に統合され、エンジニアだけでなくプランナーやレベルデザイナーとの協業にも適しています。
主な特長
・ScriptableObject ネイティブ運用 既存の Unity プロジェクトへ導入しやすく、アセットベースでデータを管理 ・高速検索 PrimaryKey: O(log n) バイナリサーチ SecondaryKey: O(1) ハッシュルックアップ ・低GC設計のクエリ パフォーマンス重視のデータ参照フローを実現 ・CSV/TSV ワークフローを強化 インポート/エクスポート対応 ・差分プレビュー(Diff Viewer)と選択適用 ・SQL ライクエディタ搭載 SELECT / JOIN / GROUP BY / 集計 / CASE / サブクエリ / UPDATE / DELETE ・バリデーション機能 Required、Range、Unique、ForeignKey など属性ベース検証 ・スキーマ管理 スキーマ比較、マイグレーション、自動バックアップ ・運用支援ツール Database Browser、Validation Window、テストデータ生成など
こんなプロジェクトにおすすめ
・RPG / シミュレーションなど、アイテム・敵・クエストなどのマスターデータ量が多いタイトル ・運用中にバランス調整やイベントデータ更新が頻繁に発生するタイトル ・CSVベースの外部データ編集フローを Unity に安全に取り込みたいチーム ・早期からデータ整合性チェック(外部キー、必須項目、範囲制約)を仕組み化したいチーム
導入メリット
・データ定義、参照、検証、更新の作業を Unity 内に集約 ・手作業による入力ミスや参照不整合を早期発見 ・大規模データでも検索性能を維持しやすい ・開発フェーズ後半のデータ調整・運用コストを削減
使い方
1. レコードクラスに `[PrimaryKey]` や `[SecondaryKey]` を付与してスキーマを定義 2. `TableAsset<TRecord, TKey>` を継承したテーブルアセットを作成 3. Table Editor から CSV/TSV をインポート 4. ランタイムでは `FindByKey` / `FindAllBySecondaryKey` / `Where` などで検索 5. SQL Editor / Validation Window で運用時の確認と整合性チェックを実施
動作環境
対応Unityバージョン: Unity 6000.0 以上 ランタイム要件: .NET Standard 2.1 主な対象: マスターデータ管理、データ駆動設計、運用効率化 主なデータ入出力: CSV / TSV
アップデート履歴
[1.1.3] - 2026-03-11 Fixed YamlBatchConverterでも同様にNamespaceが設定ファイルの値を反映していなかったバ グを修正 [1.1.2] - 2026-03-10 Fixed ClassGeneratorで生成されるクラスのNamespaceが設定ファイル(TableGenerateSetting)の値を反映せず、常に `Xeon.XScriptableDB.Generated` になっていたバ グを修正 [1.1.1] - 2026-02-20 Fixed YAMLファイルの新規保存時にデフォルトのファイル名が不正になるバグを修正 [1.1.0] - 2026-02-20 Changed ClassGenerator: フィールド名に `_` プレフィックスを追加(Unityコーディング規約に準拠) 例: `private int id;` → `private int _id;` プロパティのゲッター/セッターも `_fieldName` 形式に更新 ClassGenerator: enum・ユーザー定義型名のスネークケース → PascalCase 自動変換 例: `element_type` → `ElementType` PascalCase の型名はそのまま保持 Added ClassGenerator のフィールド名・型変換に関するユニットテストを追加












