Introduction

Scriptable Studio Pro is the ultimate asset management solution for Unity. It transforms the way you create, edit, and manage ScriptableObject data, turning Unity into a powerful database engine.

Designed for professional studios and solo developers alike, it combines the speed of a spreadsheet, the power of Excel-like formulas, and the creativity of Generative AI into a single, cohesive editor window.

Key Features

📊 The Grid Editor

Forget the default Inspector. View and edit hundreds of assets at once in a high-performance, multi-column grid.

  • Sort & Filter: Find assets instantly by name, type, or field values.
  • Bulk Editing: Select multiple rows and edit them simultaneously.
  • Reorder: Drag and drop to organize your lists.

🛠️ Dual Workflow Modes

  • Create Mode: Rapidly prototype data in memory. Create 100 items, tweak them, and only write to disk when you're ready.
  • Edit Mode: Load existing assets from your project folder and modify them in place with bulk tools.

⚡ Power Tools

  • Formulas: Use math directly in your fields (e.g., =[BaseStats.Strength] * 2.5).
  • Smart Fill: Select a range and auto-complete sequences (1, 2, 3...) or gradients.
  • Smart Rename: Rename hundreds of files based on their internal data patterns.
  • Find & Replace: Search across all fields and replace text or values instantly.

🧠 AI Asset Architect (Optional)

Integrated directly into the workflow is a world-class AI assistant.

  • Generate: Create production-ready assets from text prompts.
  • Refine: Use natural language to tweak existing data (e.g., "Make all boss enemies 20% stronger").
  • Context-Aware: The AI understands your game's name, theme, and lore.
  • Read the full AI Documentation

🛡️ Professional Grade

  • Undo/Redo: A custom, robust undo system tracks every change, even across bulk operations.
  • Import/Export: JSON and CSV support for external tools.
  • Type Safety: Built to handle complex Unity types like AnimationCurve, Gradient, and LayerMask.

Why Scriptable Studio Pro?

Unity's default workflow for ScriptableObjects is slow: create one file, rename it, select it, edit inspector, repeat.

Scriptable Studio Pro removes this friction. Whether you are balancing an RPG item database, managing NPC dialogue lines, or configuring level data, this tool saves you hours of manual work.

Getting Started

Welcome to Scriptable Studio Pro. This guide will help you set up the tool and create your first database.

Installation

  1. Import the Scriptable Studio Pro package into your Unity project.
  2. The tool will automatically compile and appear in the menu bar.

Opening the Window

Go to Asset > Scriptable Studio Pro or Tools > Maharaja Studio > Scriptable Studio Pro > Open Window (or press Ctrl+M / Cmd+M).

Your First Workflow

1. Select a Type

The left sidebar lists every ScriptableObject class in your project.

  • Click on a type (e.g., ItemData, EnemyStats) to load the grid.
  • If you don't have any custom ScriptableObjects yet, create a simple C# script:
using UnityEngine;

[CreateAssetMenu(fileName = "NewItem", menuName = "Game/Item")]
public class ItemData : ScriptableObject
{
    public string ItemName;
    public int Cost;
    public float Damage;
}

2. Create Mode vs. Edit Mode

Use the dropdown in the top-left toolbar to switch modes:

  • Create Mode: Start with a blank slate. Add "Virtual Instances" to the list. These exist only in the window until you click "Create Assets".
  • Edit Mode: Loads all existing .asset files of the selected type from your project. Changes are applied directly to the files when you press "Update Linked Assets".

3. Adding Data

  1. Ensure you are in Create Mode.
  2. Click the ➕ (Add) button in the toolbar to add a row.
  3. Type values into the grid cells.
  4. Use Duplicate to copy rows quickly.

4. Saving Assets

  1. When you are happy with your data, check the Folder Settings at the bottom of the window.
  2. Choose a Subfolder Name (e.g., "Items").
  3. Click Create Assets.
  4. The tool will generate the .asset files in your project.

Next Steps

Core Workflow

This page details the primary interface and workflows of Scriptable Studio Pro.

The Main Interface

The window is divided into three main sections:

  1. Sidebar (Left): Lists all ScriptableObject types in your project.
  2. Grid (Center): The main workspace where you edit data.
  3. Toolbar (Top): Mode selection and global tools.

Working with the Grid

The grid is the heart of the tool. It displays your assets in a spreadsheet-like view.

Sorting & Filtering

  • Sort: Click any column header to sort ascending/descending.
  • Filter: Use the search bar to filter rows.
    • Simple Text: Sword matches any item with "Sword" in the name.
    • Advanced Syntax:
      • Logical: && (AND), || (OR). Example: [Cost] < 50 && [Type] == "Fire".
      • Comparison: ==, !=, >, <, >=, <=, : (contains).
      • Nested Fields: [Stats.Health] > 100 or [Inventory[0]] == "Potion".
      • Special: [Model] == {null} to find missing references.

Reordering

  • Drag and drop rows by their index number (far left column) to reorder them.
  • Note: Reordering works in both Create and Edit modes. In Edit Mode, it changes the order in the list but doesn't affect file names unless you rename them.

Bulk Editing

You can edit multiple cells at once:

  1. Select multiple rows (Ctrl/Cmd + Click or Shift + Click).
  2. Edit a value in any of the selected rows.
  3. The change will apply to all selected rows.

Context Menu Actions

Right-click on any row (or the index number) to access powerful actions:

  • Ping Asset: Highlights the file in the Project window.
  • Copy/Paste Values: Copy data from one instance to another.
  • Duplicate Row: Creates an exact copy of the selected instance.
  • Smart Rename: (Edit Mode) Renames the instance based on a string field (e.g., "Set Name from 'ItemName'").
  • Insert Row Above/Below: Adds a blank row at a specific position.

Create Mode vs. Edit Mode

Create Mode

  • Purpose: Rapidly creating new assets.
  • Behavior: Data exists only in memory.
  • Save: You must click Create Assets to write files to disk.
  • Naming: Files are named based on the Naming Pattern (e.g., {TYPE}_{#}).

Edit Mode

  • Purpose: Managing existing assets.
  • Behavior: Changes are written to the asset files when Update Linked Assets pressed.
  • Import: Use the Import buttons to load assets into the grid.
    • Import All: Loads every asset of this type found in the project.
    • Import Selected: Loads only the assets currently selected in the Project window.
    • Save: You must click Update Linked Assets to write files to disk.

Power Features

Unlock the full potential of Scriptable Studio Pro with these advanced tools.

Formulas

Just like in Excel, you can use formulas to calculate values dynamically.

  • Syntax: Start any text field with =.
  • References: Use [FieldName] to reference other fields in the same row.
  • Math: +, -, *, /, ^ (power), % (modulo).

Examples

  • =[Level] * 100 -> Sets value to Level * 100.
  • =[Strength] + [Agility] -> Sums two stats.
  • =[BaseDamage] * (1 + [Bonus])

Smart Fill

Auto-complete sequences of data across multiple rows.

  1. Select a range of cells (vertical or horizontal).
  2. Click the ✨ Smart Fill button in the toolbar.
  3. Choose a pattern based on the field type:

Numeric Modes

  • Linear: 1, 2, 3, 4... (Standard progression)
  • Incremental: Start at X, add Y each step.
  • Random Range: Random value between Min and Max.
  • Multiplier: Multiply previous value by X.
  • Curve: Use an animation curve to define the value distribution.

String Modes

  • Pattern: Use placeholders like {i} (index) and {old} (current value).
    • Example: Item_{i} -> Item_1, Item_2...
  • Search & Replace: Bulk replace text within the selection.
  • Prefix/Suffix: Add text to the beginning or end.
  • GUID: Generate unique IDs.

Other Modes

  • Boolean: Pattern (e.g., TF = True, False, True...), Random.
  • Color: Gradient (blend between colors), Random.

Smart Rename

Rename hundreds of assets instantly based on their data.

  1. Ensure you are in Create Mode (or Edit Mode if you want to rename files).
  2. Right-click on the header of the column you want to use as the name source (e.g., ItemName).
  3. Select Set Name from 'ItemName'.
  4. The instance names (and filenames) will update to match the value in that column.

Import / Export

Move data between Unity and external tools.

Supported Formats

  • CSV / JSON: Standard formats for backup or external editing.
  • SQL: Generate SQL INSERT statements for database integration.
  • Google Sheets:
    • Clipboard (Recommended): Copy cells in Sheets, click Paste & Import in the tool.
    • URL: Download directly from a published Google Sheet CSV link.

Undo / Redo

The tool features a custom Undo System that is separate from Unity's standard undo stack for better performance and reliability.

  • Undo: Ctrl + Z (Cmd + Z)
  • Redo: Ctrl + Y (Cmd + Shift + Z)

It tracks:

  • Value changes
  • Row additions/removals
  • Reordering
  • Bulk operations

AI Asset Architect

Scriptable Studio Pro includes a powerful AI Asset Architect that generates production-ready ScriptableObjects directly from text prompts. It is context-aware, meaning it generates data specific to the C# class you consistently work with.

Overview

The AI system is built to handle the tedious part of data entry. It can:

  • Generate New Assets: Create dozens of items, characters, or abilities from scratch.
  • Refine Existing Data: Bulk-edit selected assets using natural language (e.g., "Nerf all fire weapons by 10%").
  • Understand Context: It knows your game's name, theme, and lore.
  • Self-Heal: Automatically repairs invalid JSON responses from LLMs.

🚀 Getting Started

  1. Open Scriptable Studio Pro: Go to Asset > Scriptable Studio Pro or Tools > Maharaja Studio > Scriptable Studio Pro > Open Window.
  2. Select a Type: click on a ScriptableObject type in the left sidebar (e.g., ItemData).
  3. Launch AI: Click the AI Icon in the main toolbar (usually next to the Duplicate button).
  4. Configure: Select use the default profile or create a new one.
  5. Prompt: Type a prompt (or leave it empty) and click Generate Assets.

⚙️ Configuration

1. Global Context

These settings apply to all generations across the project, helping the AI maintain consistency.

  • Game Name: The name of your project.
  • Theme: The genre or visual style (e.g., "Dark Fantasy", "Sci-Fi Horror").
  • Global Lore: High-level rules or backstory.

2. AI Profiles

Profiles allow you to switch between different AI providers or configurations.

To create a profile:

Right-click in Project View and go to:

  • Create > Scriptable Studio Pro > AI > OpenAI > Standard Template
  • Create > Scriptable Studio Pro > AI > Google Gemini > Standard Template
  • Create > Scriptable Studio Pro > AI > Custom > Blank Template
  • (And other supported providers)

Profile Settings:

  • Provider: The AI service (OpenAI, Gemini, DeepSeek, etc.).
  • Model: Specific model selection (e.g., GPT-4o, Gemini3 Pro).
  • System Prompt: The "persona" of the AI.
  • Temperature: 0.0 for strict data, 1.0 for creative variety.

🧠 Supported Providers

Provider Description Best For
OpenAI Industry standard (GPT-4o, GPT-3.5). General purpose, high quality.
Google Gemini Google's latest models (Gemini3 Pro/Flash). Large context, creative writing.
DeepSeek Powerful open weights models. Logic and code-heavy data.
Local LLM Connects to localhost:1234 (LM Studio). Privacy, free generation.
Ollama Connects to localhost:11434. Privacy, free generation.
OpenRouter Access to Claude, Llama 3, etc. flexible model choice.

🛠️ Features & Workflow

1. Style Reference (Few-Shot Learning)

The AI Window includes a Style Reference section.

  • Drag & Drop: Drag existing ScriptableObjects here to teach the AI your naming conventions and balance style.
  • Use Previous Outputs: Toggle this to feed the last generated items back into the context, ensuring the next batch matches the previous one.

2. Refine Mode (Edit)

Instead of generating from scratch, you can modify existing assets.

  1. Select specific rows in the Main Grid (or choose "All Instances" in the Refine Window).
  2. Right-click or use the Toolbar to open Refine Assets.
  3. Lock Fields: in the Refine Window, toggle "Lock" on fields you want to preserve (e.g., keep Prefab and ID unchanged).
  4. Prompt: "Rename these to sound more Elvish" or "Double the prices".

3. Attribute Metadata

Control the AI directly from your C# code:

[Header("Combat Stats")]
public int Health;

// 1. Give the AI a hint
[AIDescription("The amount of gold this monster drops. Bosses should drop 500+")]
public int GoldReward;

// 2. Hide a field from the AI interpretation entirely
[AIExclude] 
public string InternalGUID;

🔍 How It Works (Architecture)

  1. Schema Generation: The tool uses Reflection to build a JSON schema representing your C# class, including support for complex types like AnimationCurve, Gradient, LayerMask, and nested classes.
  2. Context Injection: It combines your Schema, Field Notes, Game Settings, and Style References into a single System Prompt.
  3. Self-Healing: If the AI returns invalid JSON, the tool catches the error and automatically sends a "repair request" back to the model.

Troubleshooting

  • "JSON Parse Error": The AI failed to follow the schema. Try lowering the Temperature or adding Examples to guide it.
  • "Network Error": Check your API Key. For Local LLM/Ollama, ensure the server is running on the correct port.
  • "Field Not Populated": Ensure the field is public or [SerializeField].

Configuration

Customize Scriptable Studio Pro to fit your workflow.

General Settings

Access settings via Tools > Scriptable Studio Pro > Settings.

Folder Rules

  • Default Folder Mode:
    • Root: Saves all assets in the root of the selected folder.
    • Type Subfolder: Creates a subfolder for each type (e.g., .../Items/, .../Enemies/).
  • Ping Folder: If enabled, Unity will highlight the folder after creating assets.

Naming Patterns

Define how new assets are named by default.

  • Pattern: {TYPE}_{i}
  • Placeholders:
    • {TYPE}: The class name.
    • {i}: Incrementing number (1, 2, 3).
    • {ii}: Two-digit number (01, 02, 03).
    • {iii}: Three-digit number (001, 002, 003).

Other Settings

  • Visuals: Toggle Grid Lines or Assembly Names (e.g., [Assembly-CSharp]).
  • Workflow: Enable Link Dragged Assets to automatically assign references when dragging assets into Create Mode.
  • Safety:
    • Confirm Deletion: Toggle the warning dialog when removing rows.
    • Max Undo Objects: Limit the undo history size (default 1000) for performance.

Shortcuts

Customize hotkeys for common actions.

  1. Go to Scriptable Studio Pro > Setting > Shortcuts.
  2. The Visual Keyboard shows all current bindings.
  3. Select an action from the list on the left.
  4. Click a key on the virtual keyboard to rebind.
  5. Use the CTRL / SHIFT / ALT toggles to add modifiers.

Defaults:

  • Ctrl+S: Save / Create Assets
  • Ctrl+D: Duplicate Row
  • Delete: Remove Row
  • F2: Rename Row(Edit mode only)

AI Configuration

See AI Assistant for details on configuring AI providers.