Scriptable Studio Pro Documentation

v3.0

Introduction

Scriptable Studio Pro is the ultimate asset management platform for Unity. It transforms the way you create, edit, and manage ScriptableObject data, giving you the speed of a spreadsheet, the depth of a full inspector, and the creative power of Generative AI — all inside a single, cohesive editor window.

Designed for professional studios and solo developers alike, version 3.0 marks a major leap forward in type compatibility, navigation ergonomics, and workflow depth.


Key Features

📊 The Grid Editor

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

  • Sort & Filter: Find assets instantly by name, type, or field values — including advanced query syntax with &&, ||, comparison operators, and nested field access.
  • Bulk Editing: Select multiple rows and edit them simultaneously.
  • Reorder: Drag and drop rows to organize your list instantly.

🎨 Native Drawing System New in 3.0

Any field type is now rendered correctly in the Detail Panel, without workarounds or exclusions.

  • Types with a Unity CustomPropertyDrawer are detected automatically at startup and rendered natively.
  • Register additional types in Settings › Native Drawn Types to give them first-class treatment.
  • This covers SerializableDictionary, third-party framework types, any custom generic wrapper, and any type your team builds with a property drawer.

🔬 Next-Generation Type Parser New in 3.0

The internal type-reading and writing engine has been completely rebuilt from the ground up.

  • Handles every C# primitive including uint, byte, sbyte, short, ushort, ulong, char, and decimal.
  • Handles all Unity types: math structs, Gradient, AnimationCurve, LayerMask, Quaternion, Bounds, and more.
  • Generic types and custom serializers (e.g., SerializableDictionary<TKey, TValue>) are parsed using a multi-strategy engine that respects ISerializationCallbackReceiver, ensuring the exact same state as runtime.

🏷️ Pill Navigation System New in 3.0

When working with multiple selected types in Batch Mode, a row of interactive pills appears above the grid, one per selected type.

  • One-click navigation between any checked type — no sidebar scrolling.
  • Drag-to-reorder pills to set your preferred workflow order.
  • The container auto-collapses to save space and expands on demand.

🌐 Localization Support New in 3.0

Fields using Unity Localization (LocalizedString, LocalizedAsset, and any type in the UnityEngine.Localization namespace) are now fully supported.

  • Values are correctly read, written, and cloned without breaking internal table references.

🛠️ Dual Workflow Modes

  • Create Mode: Rapidly prototype data in memory. Create 100 items, tweak them, save only when ready.
  • Edit Mode: Load existing assets from your project and modify them in place with bulk tools.

⚡ Power Tools

  • Formulas: Use math directly in fields (=[Level] * 100, =[Strength] + [Agility]).
  • Smart Fill: Select a range and auto-complete sequences, gradients, patterns, and GUIDs.
  • Smart Rename: Rename hundreds of files based on their internal data in one click.
  • Find & Replace: Search across all fields and replace text or values instantly.
  • Validator: Advanced rule-based validation with built-in rules, formula expressions, and Regex.

🧠 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 ("Make all boss enemies 20% stronger").
  • Context-Aware: Understands your game's name, theme, lore, and custom field types.
  • Read the full AI Documentation

🛡️ Professional Grade

  • Undo/Redo: A custom system tracks every change — including bulk operations, localization fields, and native-drawn types.
  • Import/Export: JSON, CSV, SQL, and Google Sheets support.
  • Full Type Safety: No special-casing needed. Every serializable C# and Unity type works out of the box.

Why Scriptable Studio Pro?

Unity's default ScriptableObject workflow is slow: create one file, rename it, select it, edit the inspector, repeat. Complex field types like dictionaries or localization references require workarounds or custom editors.

Scriptable Studio Pro removes all of that friction. Whether you are balancing an RPG item database, managing NPC dialogue lines with localization, or configuring level data with complex custom serializers — this tool saves hours of manual work every day.

Getting Started

Welcome to Scriptable Studio Pro v3.0. This guide will get you set up and creating your first database in minutes.


Installation

  1. Import the Scriptable Studio Pro package via the Unity Package Manager.
  2. The tool compiles automatically and registers menu items.

Opening the Window

Go to Assets › Scriptable Studio Pro or Tools › Maharaja Studio › Scriptable Studio Pro › Open Window
Keyboard shortcut: Ctrl + M / Cmd + M


Your First Workflow

1. Select a Type

The left sidebar lists every ScriptableObject class in your project.

  • Type in the Search Bar to filter types instantly.
  • Click a type (e.g., ItemData, EnemyStats) to load its grid.

If you don't have any custom ScriptableObject types yet, create a simple C# script and compile:

using UnityEngine;

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

You can use any field type — primitives, Unity structs, enums, custom serializers, LocalizedString, List<T>, or any type with a CustomPropertyDrawer. The v3.0 parser handles all of them.


2. Choose a Mode

Use the Mode Selector in the top-left toolbar:

Mode Purpose
Create Mode Prototype data in memory. Instances are virtual until you click Create Assets.
Edit Mode Load existing .asset files and modify them. Changes are applied when you click Update Linked Assets.

3. Add Data

  1. Ensure you are in Create Mode.
  2. Click ➕ (Add) to add a row.
  3. Fill values directly in the grid cells.
  4. Use Duplicate (right-click context menu) to clone rows quickly.

For fields that are complex types (custom structs, dictionaries, localized strings), click Open Details in the toolbar to open the Detail Panel for that instance. The Detail Panel uses the Native Drawing System to render every field correctly, including types with custom property drawers.


4. Navigate with Pills New in v3.0

When you check multiple types in the sidebar (for batch creation), a row of Pills appears above the grid — one pill per selected type.

  • Left-click a pill to jump to that type's grid instantly.
  • Right-click + drag a pill to reorder it.
  • Click at the right of the pill strip to expand/collapse it.

5. Save Assets

  1. When satisfied with your data, check the Folder Settings at the bottom of the window.
  2. Choose a Subfolder Mode (Default, Single Subfolder, or Subfolder Per Type).
  3. Click Create Assets.
  4. The tool generates .asset files in your project at the chosen location.

Working with Custom & Localization Types

Custom Types (Serializers, Dictionaries, Wrappers)

  1. Grid: The tool automatically detects if a type has a CustomPropertyDrawer and renders it natively.
  2. Detail Panel: The field appears with its proper drawer UI.
  3. If a type is not auto-detected, go to Settings › Native Drawn Types and add its fully-qualified class name manually.

Localization Fields (LocalizedString, LocalizedAsset)

Fields using Unity Localization are handled automatically: Values are correctly read from and written to the Localization tables without breaking references.


Next Steps

  • Core Workflow: Master the grid, sorting, bulk editing, and context menus.
  • Power Features: Formulas, Smart Fill, Import/Export, and Undo/Redo.
  • User Interface: Detailed reference for every button, field, and panel.
  • AI Assistant: Use AI to generate and refine data at scale.
  • Configuration: Settings, shortcuts, assembly filtering, and more.

Core Workflow

This document covers the primary interface and workflows of Scriptable Studio Pro.


The Main Interface

The window is divided into three main areas:

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

Additionally in v3.0, a Pill Strip appears at the top of the right pane when multiple types are selected, enabling instant type navigation.


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 instance search bar to filter rows.
    • Simple Text: Sword matches any instance 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".
      • Null Check: [Model] == {null} to find missing references.

Reordering

Drag rows by their index number (far-left column) to reorder them. Works in both Create and Edit modes.

Bulk Editing

  1. Select multiple rows (Ctrl/Cmd + Click or Shift + Click).
  2. Edit a value in any selected row.
  3. The change applies to all selected rows simultaneously.

Pill Navigation New in v3.0

When you check multiple types in the sidebar (for Batch Mode), a Pill Strip appears above the grid.

Action Result
Left-click a pill Immediately switches the grid to show that type's data
Right-click + drag a pill Reorders the pill to your preferred position
▼ / ▲ button (far right) Collapses or expands the pill strip

The pill strip height is configurable in Settings › Visuals › Pill Height.


Context Menu Actions

Right-click on any row or index number to access:

Action Description
Ping Asset Highlights the file in the Project window
Copy / Paste Values Copy all field values from one row and paste them into another
Duplicate Row Creates an exact copy of the selected instance
Smart Rename (Edit Mode) Renames the asset file based on a string field
Insert Row Above / Below Adds a blank row at a specific position
Delete Removes the selected instance

Detail Panel

Accessible via Open Details in the main toolbar. The Detail Panel shows all fields of a single instance in a vertical, scrollable layout.

Native Drawing System New in v3.0

In v3.0, the Detail Panel uses a native drawing pipeline for field types. The system works as follows:

  1. At startup, the tool scans all loaded assemblies for CustomPropertyDrawer attributes and builds a fast type-to-drawer cache.
  2. When rendering a field in the Detail Panel, the tool checks if the field's type is native-drawn.
  3. If native-drawn → rendered via IMGUIContainer + Unity's built-in inspector.
  4. Otherwise → rendered via the tool's own recursive field builder.

This means you never need to configure anything for types like SerializableDictionary, localization fields, or any type your team provides a custom drawer for.

Supported Attributes in the Detail Panel

The Detail Panel respects these Unity field attributes:

  • [Header] — renders a bold section label above the field.
  • [Tooltip] — surface as hover tooltip on the label.
  • [TextArea] / [Multiline] — renders a multi-line text box.
  • [Range] — renders a slider + numeric input.
  • [HideInInspector] — field is hidden.

Searching Fields

Use the search bar at the top of the Detail Panel to filter visible fields by name.


Create Mode vs. Edit Mode

Create Mode

Property Detail
Purpose Rapidly creating new assets
Behavior Data exists only in memory until explicitly saved
Save Click Create Assets to write .asset files to disk
Naming Files are named based on the Naming Pattern (e.g., {TYPE}_{ii})

Edit Mode

Property Detail
Purpose Managing existing assets
Behavior Grid operates on the actual asset files
Import Import All or Import Selected to load assets
Save Click Update Linked Assets to write changes to disk

Undo / Redo

The tool uses a custom undo stack independent of Unity's standard undo system.

  • Undo: Ctrl + Z / Cmd + Z
  • Redo: Ctrl + Y / Cmd + Shift + Z

The undo stack tracks value changes, row additions/removals, reordering, and bulk operations.

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 any number of rows. Smart Fill in v3.0 supports every serializable type including primitives, structs, and localization fields.

  1. Select a range of cells (vertical or horizontal).
  2. Click ✨ Smart Fill in the toolbar.
  3. Choose a fill mode:

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 the previous value by X.
  • Curve: Use an AnimationCurve to define how values scale over the selection.

String & Object 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 of existing values.
  • GUID: Generate unique IDs for every cell.

Other Modes

  • Boolean: Pattern (e.g., TF = True, False, True...), Random.
  • Color: Gradient (blend between colors using a Gradient), Random.
  • Localization: Copy references or generate new keys based on patterns.

Smart Rename

Rename hundreds of assets instantly based on their data. This is particularly powerful for cleaning up external imports or large AI-generated sets.

  1. Right-click the header of the column you want to use as the name source (e.g., ItemID).
  2. Select Set Name from '[ColumnName]'.
  3. The instance names (and filenames in Edit Mode) will update to match the values in that column.

Import / Export

Seamlessly move data between Unity and external tools.

Supported Formats

  • CSV / JSON: Standard formats for backup or external editing.
  • SQL: Generate INSERT or UPDATE statements for database integration.
  • Google Sheets:
    • Clipboard: Copy cells in Sheets, click Paste & Import in the tool.
    • Direct URL: Paste a public Google Sheet CSV link for direct download.

Universal Search

Press Ctrl+F to open the search overlay. It searches across all fields and all loaded types simultaneously, highlighting matches in the grid.

User Interface Reference

A detailed breakdown of every component in the Scriptable Studio Pro workspace.


1. Sidebar (Type Explorer)

The control center for what data is currently visible.

  • Search Bar: Filters types by name. Use t: prefix for namespace filtering.
  • Type List: Click to select a single type. Check the checkbox for Batch Mode.
  • Batch Mode: When multiple types are checked, their grids are loaded in parallel. Switch between them using the Pill Strip.

2. Toolbar (Global Actions)

The horizontal bar at the top of the interface.

  • Mode Dropdown: Switch between Create Mode and Edit Mode.
  • Add (➕): Adds a new row/instance to the current grid.
  • Open Details: Toggles the Detail Panel on the right.
  • Smart Fill (✨): Opens the Smart Fill configuration window for the selected range.
  • Execute Logic (▶️): Triggers asset creation or updates depending on mode.
  • Refresh: Reloads data and re-evaluates all formulas.
  • Settings (⚙️): Opens the Preference window.

3. Grid Area

The main spreadsheet view.

  • Index Column: The far-left column showing row numbers. Click to select a row; drag to reorder.
  • Column Headers: Click to sort. Right-click for column-specific actions (Hide, Pin, Rename).
  • Cells: Click to edit. Supports keyboard navigation (Arrows, Enter, Tab).
  • Pill Strip (v3.0): Horizontal list of checked types. Supports reordering and one-click jumping.

4. Detail Panel

A vertical inspector for the "Active Row" (the last cell you clicked).

  • Field Search: Filter fields by name at the top of the panel.
  • Native Drawing: Complex types like SerializableDictionary or custom classes with PropertyDrawers are rendered using Unity's native UI system.
  • Sub-object Folding: Click the arrow next to a class or struct field to expand its children.

5. Breadcrumb & Status Bar

Located at the very bottom of the window.

  • Path Display: Shows exactly where assets will be saved.
  • Count: Displays Total Rows, Selected Rows, and any active Filters.
  • Mode Indicator: Visual color-coding (Blue for Create, Green for Edit).

AI Asset Architect

Scriptable Studio Pro includes a powerful AI Asset Architect that generates production-ready assets directly from text prompts. It is fully context-aware, meaning it understands your custom classes, field types, and even your game's lore.


Overview

The AI system is designed to remove the "blank page" problem. It can:

  • Generate New Assets: Create hundreds of items, characters, or abilities in seconds.
  • Refine Existing Data: Use natural language to modify values (e.g., "Make all fire-type weapons deal 15% more damage").
  • Smart Mapping: Automatically maps AI-generated descriptions to your C# fields (Name, Cost, Description, Stats, etc.).

Setting Up

  1. Open the tool and go to Settings › AI Configuration.
  2. Choose a Provider:
    • OpenAI: Requires an API Key (supports GPT-4o, GPT-4 Turbo).
    • Google Gemini: Requires an API Key (supports Gemini 1.5 Pro/Flash). (Recommended for large data sets).
    • Local Engine: For studios with custom internal AI nodes.
  3. Enter your API Key and click Validate Connection.

Generating Assets

  1. Select a type in the sidebar (e.g., WeaponData).
  2. Switch to Create Mode.
  3. Click 🧠 AI Generate in the toolbar.
  4. Enter your prompt: "Create 10 futuristic weapons. Each should have a unique name, a cost between 100-500, and balanced damage values."
  5. Click Generate. The AI will populate the grid with virtual instances.

Refining Data

  1. Select the rows you want to modify in the grid.
  2. Click 🧠 AI Refine in the toolbar.
  3. Describe the change: "Increase the cost of all rare items by 50% and change their description to sound more legendary."
  4. Click Apply. The tool updates the values in the grid instantly.

Contextual Knowledge

The AI Architect doesn't just guess; it reads your project's context. In Settings › AI Configuration, you can define:

  • Game Theme: (e.g., High Fantasy, Cyberpunk, Cozy Farm Sim).
  • Naming Conventions: (e.g., "Use all caps for IDs").
  • Project Description: Provide a brief overview of your game's world to ensure the AI uses consistent terminology.

Configuration

Customize Scriptable Studio Pro to fit your team's specific workflow and style.


General Settings

Access the main settings window via Tools › Maharaja Studio › Scriptable Studio Pro › Settings.

📂 Folder Rules

  • Default Folder Mode:
    • Root: Saves all assets directly in the root of the selected folder.
    • Type Subfolder: Automatically creates a folder for each type (e.g., Items/, Enemies/).
    • Single Subfolder: Creates one subfolder for the entire batch.
  • Ping Folder: If enabled, Unity will highlight the target folder in the Project window after assets are created.

🏷️ Naming Patterns

Control the default naming format for new assets in Create Mode.

  • Syntax: {TYPE}_{i}ItemData_1, ItemData_2...
  • Placeholders: {TYPE} (class name), {i} (index), {ii} (padded index 01, 02), {DATE} (current date).

🎨 Visuals & UI

  • Pill Height: Adjust the vertical size of the Pill Strip in the Grid Area.
  • Assembly Names: Toggle whether to display the assembly namespace (e.g., [Assembly-CSharp]) in the sidebar.
  • Grid Lines: Toggle grid visibility for better readability on high-DPI screens.

Advanced Configuration

Native Drawn Types

By default, Scriptable Studio Pro automatically detects types with a CustomPropertyDrawer. If you have a type that should be drawn natively but isn't being detected, add its fully qualified name to this list.

Shortcuts

Customize your hotkeys using the Visual Keyboard Mapper in settings.

  • Standard Defaults:
    • Ctrl+M — Open Window
    • Ctrl+S — Save / Create Assets
    • Ctrl+Z — Undo
    • Ctrl+F — Open Universal Search
    • Ctrl+D — Duplicate Row