Scriptable Studio Pro Documentation
v3.0Introduction
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
CustomPropertyDrawerare 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, anddecimal. - 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 respectsISerializationCallbackReceiver, 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
- Import the Scriptable Studio Pro package via the Unity Package Manager.
- 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
- Ensure you are in Create Mode.
- Click ➕ (Add) to add a row.
- Fill values directly in the grid cells.
- 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
- When satisfied with your data, check the Folder Settings at the bottom of the window.
- Choose a Subfolder Mode (Default, Single Subfolder, or Subfolder Per Type).
- Click Create Assets.
- The tool generates
.assetfiles in your project at the chosen location.
Working with Custom & Localization Types
Custom Types (Serializers, Dictionaries, Wrappers)
- Grid: The tool automatically detects if a type has a
CustomPropertyDrawerand renders it natively. - Detail Panel: The field appears with its proper drawer UI.
- 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:
- Sidebar (Left) — Lists all
ScriptableObjecttypes found in your project. - Grid Area (Right, Center) — The main workspace where you view and edit data.
- 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:
Swordmatches any instance with "Sword" in the name. - Advanced Syntax:
- Logical:
&&(AND),||(OR). Example:[Cost] < 50 && [Type] == "Fire". - Comparison:
==,!=,>,<,>=,<=,:(contains). - Nested Fields:
[Stats.Health] > 100or[Inventory[0]] == "Potion". - Null Check:
[Model] == {null}to find missing references.
- Logical:
- Simple Text:
Reordering
Drag rows by their index number (far-left column) to reorder them. Works in both Create and Edit modes.
Bulk Editing
- Select multiple rows (
Ctrl/Cmd + ClickorShift + Click). - Edit a value in any selected row.
- 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:
- At startup, the tool scans all loaded assemblies for
CustomPropertyDrawerattributes and builds a fast type-to-drawer cache. - When rendering a field in the Detail Panel, the tool checks if the field's type is native-drawn.
- If native-drawn → rendered via
IMGUIContainer+ Unity's built-in inspector. - 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.
- Select a range of cells (vertical or horizontal).
- Click ✨ Smart Fill in the toolbar.
- 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
AnimationCurveto 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...
- Example:
- 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.
- Right-click the header of the column you want to use as the name source (e.g.,
ItemID). - Select Set Name from '[ColumnName]'.
- 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
INSERTorUPDATEstatements 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
SerializableDictionaryor custom classes withPropertyDrawersare 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
- Open the tool and go to Settings › AI Configuration.
- 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.
- Enter your API Key and click Validate Connection.
Generating Assets
- Select a type in the sidebar (e.g.,
WeaponData). - Switch to Create Mode.
- Click 🧠 AI Generate in the toolbar.
- Enter your prompt: "Create 10 futuristic weapons. Each should have a unique name, a cost between 100-500, and balanced damage values."
- Click Generate. The AI will populate the grid with virtual instances.
Refining Data
- Select the rows you want to modify in the grid.
- Click 🧠 AI Refine in the toolbar.
- Describe the change: "Increase the cost of all rare items by 50% and change their description to sound more legendary."
- 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 WindowCtrl+S— Save / Create AssetsCtrl+Z— UndoCtrl+F— Open Universal SearchCtrl+D— Duplicate Row