Scriptable Studio Pro Documentation
v4.5Introduction
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 4.0 marks a major leap forward in type compatibility, navigation ergonomics, and workflow depth.
Key Features
🏗️ Prefab Studio Pro New in 4.0
Inspect and edit your Unity Prefab components in the same high-performance, spreadsheet-like interface.
- Component Grouping: Scans and groups prefabs instantly by their attached component types.
- Nested Child Batch Editing: Edit fields of child components nested deep within a prefab's hierarchy in bulk using wildcard (
*) path matching and batch navigators. - Delta-Safe Serialization: Non-destructive saving utilizing only delta overrides, ensuring base prefabs and variant components propagate changes perfectly.
📊 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. - Previously, many of these types showed empty or broken values. They now work universally across the Grid, Detail Panel, Undo/Redo, Smart Fill, and AI generation.
🏷️ 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 & AI Localization Bridge Enhanced in 4.0
Fields using Unity Localization (LocalizedString, LocalizedAsset, and any type in the UnityEngine.Localization namespace) are fully supported.
- Reference Preservation: Solves data-loss and persistence issues in the batch editor details panel by securely cloning table references.
- AI Localization Bridge: Automatically routes AI-generated translations to String Table Collections, dynamically setting up runtime keys silently in the background.
🏷️ Formula & Search Aliases New in 4.0
Create custom shorthand tags to replace long math formulas and complex search query filters.
- Classification: Split into global or type-specific Search Aliases (for search bars) and FieldValue Aliases (for math/formula inputs).
- Inline Autocomplete: Displays alias suggestions inline as soon as you type
@in filter or formula fields.
🤖 Grammar & Translation New in 4.5
Integrated tools to help you manage text data globally across your project.
- Machine Translation (MT): Instantly translate string and localization fields using providers like DeepL, Google Cloud, Azure, and LibreTranslate. Read the full MT Documentation
- Grammar Checker: Scan hundreds of string fields simultaneously with LanguageTool to fix spelling and grammar issues. Read the full Grammar Documentation
🛠️ 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 v4.0. This guide will get you set up and managing your ScriptableObject and Prefab data in minutes.
Installation
- Import the Scriptable Studio Pro package via the Unity Package Manager.
- The tool compiles automatically and registers menu items.
Opening the Windows
- Scriptable Studio Pro: Go to
Assets › Scriptable Studio ProorTools › Maharaja Studio › Scriptable Studio Pro › Open Window(Shortcut:Ctrl + M/Cmd + M). - Prefab Studio Pro: Go to
Tools › Maharaja Studio › Prefab Studio Pro.
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.
- AI Localization Bridge: Automatically map AI-generated translations directly to configured String Table Collections, dynamically instantiating runtime keys silently in the background.
- No manual configuration required.
Next Steps
| Guide | Description |
|---|---|
| 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. |
| Grammar Checking | Proofread and fix typos across string fields with LanguageTool. |
| Machine Translation | Batch translate fields using DeepL, Google Cloud, Azure, or LibreTranslate. |
| 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.
- Creation Scope New in v4.5: Target your operations explicitly by selecting the scope to be Selected Rows, the current Type, or All instances.
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 |
| Create Selected | (Create Mode) Instantly generates assets for the selected rows |
| Update Selected | (Edit Mode) Saves changes for the selected rows to disk |
| Save Selected | (Prefab Mode) Saves changes to the selected prefab variants |
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. A type is native-drawn if:
- It has a Unity
CustomPropertyDrawerregistered in any loaded assembly. - Its fully-qualified name (or generic type definition) is listed in Settings › Native Drawn Types.
- Its name contains "SerializableDictionary" (auto-supported).
- It is a
LocalizedString,LocalizedAsset, or anyUnityEngine.Localization.*type.
- It has a Unity
- 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 with configurable minimum height.[Range]— renders a slider + numeric input side-by-side.[HideInInspector]— field is hidden, matching standard Inspector behavior.
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}) |
| Drag & Drop | Drag existing .asset files onto the window to import their values |
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 into the grid |
| Save | Click Update Linked Assets to write changes to disk |
Drag & Drop
You can drag any ScriptableObject file from the Project Window into the Scriptable Studio Pro window:
- In Edit Mode: Adds the asset as a linked row.
- In Create Mode with Link Dragged Assets enabled: Adds a linked copy. Duplicate prevention ensures no asset is added twice.
- Smart Dragging New in v4.5: Dragging rows to reorder instances is now smarter and handles visual and data index synchronization seamlessly.
- Object fields inside the Detail Panel also accept individual asset drags.
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 individual cell value changes (including localization fields and native-drawn types), row additions/removals, reordering, bulk operations, and naming pattern changes.
Power Features
Unlock the full potential of Scriptable Studio Pro with these advanced tools.
Formulas
Just like in Excel, you can calculate values dynamically using formulas.
- Syntax: Start any numeric or string field with
=. - References: Use
[FieldName]to reference other fields in the same row. - Operators:
+,-,*,/,^(power),%(modulo).
Examples
=[Level] * 100 → Sets value to Level × 100
=[Strength] + [Agility] → Sums two stats
=[BaseDamage] * (1 + [BonusMultiplier])
Formula Mode
Toggle Formula Mode in the main toolbar to display raw formula strings in the grid cells instead of their evaluated results, making batch formula editing easier.
Formula & Search Aliases New in v4.0
Formula and Search Aliases allow you to define persistent shorthand tokens for frequently used query filters and complex formula expressions, dramatically speeding up your workflow.
Alias Classifications
Aliases are organized into two categories depending on where they are used:
- Search Aliases: Shorthands used in the main search bar to quickly apply complex filters (e.g.,
@liverockor@rock). - FieldValue Aliases: Shorthands used in Formula Mode or column formula inputs to compute dynamic calculations (e.g.,
@up).
Usage
- Defining Aliases: Open the Formula Alias Manager from the toolbar or project settings. You can define global aliases that apply to all types, or restrict aliases to specific component/asset types.
- Inline Autocomplete: Simply type
@in the search bar or in a formula input field. A dropdown list of available matching aliases will automatically appear with their descriptions. Select a suggestion or press Tab/Enter to expand it. - Execution: The alias is dynamically expanded behind the scenes before the query parser evaluates the search filter or math operation.
Smart Fill
Auto-complete sequences of data across multiple rows in seconds.
- Select a range of cells (vertical or horizontal, or an entire column).
- Click the ✨ Smart Fill button in the toolbar.
- Choose a pattern based on the field type:
Numeric Modes
| Mode | Description |
|---|---|
| Linear | 1, 2, 3, 4... (standard arithmetic progression) |
| Incremental | Start at X, add Y each step |
| Random Range | Random value between Min and Max |
| Multiplier | Multiply the previous value by X each step |
| Curve | Use an AnimationCurve to define the distribution |
String Modes
| Mode | Description |
|---|---|
| Pattern | Use {i} (index) and {old} (current value) — e.g., Item_{i} → Item_1, Item_2... |
| Search & Replace | Bulk replace text within the selection |
| Prefix / Suffix | Add text to the start or end of each value |
| GUID | Generate unique identifiers for each row |
Other Modes
| Mode | Description |
|---|---|
| Boolean Pattern | e.g., TF = True, False, True... |
| Boolean Random | Random true/false per row |
| Color Gradient | Blend between two colors across the selection |
| Color Random | Random color per row |
Universal Type Support v3.0
Smart Fill correctly initializes and applies values for all primitive types supported by the parser: uint, byte, sbyte, short, ushort, ulong, decimal, and char (automatically clamped to valid ranges).
Smart Rename
Rename hundreds of assets instantly based on their own data.
- Ensure you are in Edit Mode (file names are affected).
- Right-click on the column header of the field you want to use as the name source (e.g.,
ItemName). - Select "Set Name from 'ItemName'".
- The asset filenames update to match the field values immediately.
Import / Export
Move data seamlessly between Unity and external tools.
| Format | Direction | Notes |
|---|---|---|
| CSV | Import / Export | Standard comma-separated values. Handles quoted fields. |
| JSON | Import / Export | Field-name keyed data. |
| SQL | Export | Generates INSERT INTO statements for database tools. |
| Google Sheets | Import / Export | Copy/paste via clipboard (TSV) or direct URL import. |
Validator
Catch data problems before they ship using the advanced Validation Window (accessed via 🐞 in the toolbar).
| Rule Type | Description |
|---|---|
| Built-in | Detect null references, empty strings, out-of-range values |
| Formula | Write custom expressions (e.g., [Health] > 0 && [MaxHealth] >= [Health]) |
| Regex | Pattern-match string fields (e.g., asset IDs matching ^[A-Z]{3}_\d{4}$) |
Rule Manager Tab New in v4.5: Custom rules (Formula and Regex) are managed in a spacious, dedicated Rule Manager tab within the Validation window.
Native Drawn Types New in v3.0
Configured under Settings › Native Drawn Types. Fully-qualified type names added here are always rendered using Unity's built-in property drawer in the Detail Panel. Auto-detection handles types with a CustomPropertyDrawer, SerializableDictionary, and all UnityEngine.Localization.* types automatically.
User Interface Reference
A complete reference for every button, field, and panel in Scriptable Studio Pro v4.5.
Main Window
The Main Window is divided into the Toolbar (top), Sidebar (left), and Right Pane (Pill Strip, grid, and toolbar).
1. Main Toolbar (Top)
| Element | Description |
|---|---|
| Mode Selector | Switches between Create Mode (new assets) and Edit Mode (modify existing assets). |
| Presets | Opens the Preset Manager to save or load window configurations. |
| Open Details | Opens the Detail Panel for the first selected instance, using the native drawing system. |
| Reset All | [CAUTION] Wipes all current window data, clears caches, and resets to defaults. Shows confirmation dialog. |
| 🐞 (Validate) | Opens the Validation Window to run rule-based checks on your data. |
| ⚙ (Settings) | Opens the Settings Window to configure visuals, shortcuts, AI defaults, native drawn types, and workflow preferences. |
| Refresh | Forces a full reload of all ScriptableObject types and assets from the project. |
| Assemblies | Opens the Assembly Selector to control which assemblies the tool searches for types. |
| Favorites Only | Toggles a filter to show only types marked as Favorite. |
| Formula Mode | Toggles Formula Mode, showing raw formula strings in grid cells instead of evaluated values. |
| ? (Help) | Opens the Formula Help Window with a cheat sheet of functions and operators. |
| Naming: | Quick-access field to set the Naming Pattern for new assets (e.g., {TYPE}_{ii}). |
2. Sidebar (Left Pane)
| Element | Description |
|---|---|
| Search Bar | Filters the type list by name. Supports fuzzy matching. |
| Type List | All valid ScriptableObject types in your project. Click to select and view. |
| Checkboxes | Check a type to include it in Batch Creation or show it as a Pill. |
| ★ (Favorite) | Star a type to keep it accessible under Favorites Only mode. |
3. Pill Strip — Right Pane New in v3.0
Appears at the top of the right pane when two or more types are checked in the sidebar.
| Element | Description |
|---|---|
| Pills | One pill per checked type. Left-click to switch the grid to that type's data. |
| Pill Drag | Right-click + drag a pill to reorder it within the strip. |
| ▼ / ▲ Button | Collapses / expands the pill strip. Pill height is configurable in Settings › Visuals. |
4. Grid Area (Right Pane)
| Element | Description |
|---|---|
| Type Name Header | Displays the name of the currently selected type. |
| Count Field | (Create Mode only) How many instances to initially create. |
| AI Window Button | Opens the AI Asset Architect window. |
| Import/Export Button | Opens the Data Manager for CSV/JSON/SQL/Google Sheets. |
| Smart Fill Button (✨) | Opens Smart Fill for selected cells. |
| Manage Columns (👁️) | (New in v4.5) Opens the Column Visibility Manager window to search, show/hide, or bulk-toggle grid columns. |
| Grid View | The spreadsheet. Rows = instances, Columns = fields. |
| Action Menu (⋮) | Per-row context menu: Duplicate, Delete, Reset, Insert Above/Below, Copy, Paste, and quick actions (Create/Update/Save Selected). |
Detail Panel
Accessed via Open Details from the toolbar. Uses the v3.0 Native Drawing System for rendering custom drawers and localization fields.
Reference Selection Updated in v4.5
When selecting an asset reference for a field via the Reference Selector window, a "Clear Reference" button is available to quickly unassign the current asset.
Validation Window
Accessed via the 🐞 icon in the main toolbar. Includes the Rule Manager Tab New in v4.5 for managing and editing complex Custom Rules (Formula/Regex).
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, generating data tailored to your project.
Overview
- 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 global lore.
- Self-Heal: Automatically repairs invalid JSON responses from LLMs.
🧠 Supported Providers
| Provider | Description | Best For |
|---|---|---|
| OpenAI | Industry standard (GPT-4o, GPT-3.5). | General purpose, high quality. |
| Google Gemini | Google's latest models (Gemini 3 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)
- Drag & Drop: Drag existing ScriptableObjects to teach the AI your balance style and conventions.
- Use Previous Outputs: Feed generated items back into context for consistency.
2. Refine Mode (Edit)
- Select rows & lock fields you wish to preserve.
- Prompt: "Rename these to sound more Elvish" or "Double the prices".
3. Attribute Metadata
Control the AI directly from C# using [AIDescription("...")] to guide generation or [AIExclude] to ignore internal fields.
4. AI Prompt Snippet Library New in v3.1
Save and reuse frequently used prompt instructions globally across the project to accelerate iterative generation and refinement.
- Persistent Saving: Save custom prompts directly from the AI Generator or AI Refiner panels using the Save button.
- Context-Aware Loading: Tag saved prompts for the Generator, the Refiner, or Both.
- Centralized Management: Manage, edit, or delete all saved prompt snippets globally from the dedicated AI Prompts tab in the main Settings Window.
Grammar Checking New in v4.5
The Grammar Checking feature in Scriptable Studio Pro allows you to proofread, spell-check, and fix grammatical errors across your ScriptableObject string fields directly within the editor. It is powered by LanguageTool, an advanced, open-source proofreading engine.
Quick Overview
- Setup Provider: Follow the setup guide below to start your local Docker server or connect to the LanguageTool Cloud.
- Create a Profile: Create a Grammar Profile (
Create › Scriptable Studio Pro › Grammar › Grammar Profile) and assign it in Settings › Grammar Services. - Open the Grammar Window: Select rows in the main grid and click 📝 Grammar Check in the toolbar.
- Scan & Apply: Click Check Grammar to scan fields, review suggestions, and click Apply to fix typos instantly!
Grammar Check Window
The main interface for scanning strings and reviewing suggestions:
Left Pane: Setup & Scope
- Profile: Select the Grammar Profile to use for this session (shows local Docker or cloud connection badge).
- Fields to Check: Select which string fields to scan (e.g.,
description,dialogue). - Skip Empty Fields: Ignores empty or null fields, saving processing time.
- Scope: Choose to scan Selected Items or All Items in the grid.
Right Pane: Results & Review
- Clean Rows: Rows with no grammar issues collapse into a compact
✓ No issuesbadge. - Issue Rows: Displayed as interactive cards with original text context.
- Category Badges:
TYPO,GRAMMAR, orSTYLE. - Highlight: Misspelled/incorrect words highlighted in red.
- Replacement: Suggested fix shown in green with dropdown for alternatives.
- Apply / Skip: Click Apply to stage the fix or Skip to ignore.
- Category Badges:
Bottom Bar
- Apply All Suggestions: Automatically stages the top replacement for every single issue found across all rows.
- Check Grammar: Starts the parallel scanning process.
Ctrl+Z / Cmd+Z).
Setting Up Grammar Providers
Local Docker (Free, Offline, Unlimited)
LanguageTool is open-source. You can run the server on your computer for free with zero rate limits.
Step 1: Install Docker Desktop
Download and install Docker Desktop for Windows/Mac and ensure it is running.
Step 2: Create a Startup Script (Windows)
Create a batch script (e.g., C:\CustomAI\LanguageTool\start.bat) with the following content:
@echo off
title LanguageTool Local Server
echo Starting LanguageTool Local Server via Docker...
docker ps | findstr languagetool_server >nul
if %errorlevel%==0 (
echo [OK] LanguageTool is already running on port 8010.
) else (
docker start languagetool_server >nul 2>&1
if %errorlevel% neq 0 (
echo [INFO] Downloading and creating new container...
docker run -d --name languagetool_server -p 8010:8010 erikvl87/languagetool
) else (
echo [OK] Started existing LanguageTool container.
)
)
echo.
echo Server running at: http://localhost:8010/v2/check
pause
Double-click start.bat to start the server automatically.
Step 3: Configure the Profile
- Provider: Select
LocalDocker. - Base URL: Set to
http://localhost:8010/v2/check. - Leave API Key and Username empty.
LanguageTool Cloud
- Provider: Select
LanguageToolCloud. - Base URL: Set to
https://api.languagetool.org/v2/check. - Enter your API Key and Username if using a Premium account.
Configuration Options
- Language: BCP-47 code (e.g.,
en-US,de-DE) orautofor automatic detection. - Disabled Rule IDs: Comma-separated rule IDs to ignore (e.g.,
MORFOLOGIK_RULE_EN_US,UPPERCASE_SENTENCE_STARTfor game lore terms). - Enabled Categories: Comma-separated category IDs to check exclusively (e.g.,
TYPOS). - Request Timeout Seconds: Adjust timeout for scanning large text blocks.
Machine Translation (MT) New in v4.5
The Machine Translation feature in Scriptable Studio Pro allows you to translate ScriptableObject string fields and Unity Localization LocalizedString fields directly in the editor using cloud translation providers (DeepL, Google Cloud, Azure) or self-hosted options (LibreTranslate).
Quick Overview
- Create an MT Profile: Right-click in Project view →
Create › Scriptable Studio Pro › MT › Translation Profile. - Assign the Profile: Open Settings › MT Services and select your profile.
- Open MT Window: Select ScriptableObjects, right-click, and choose Scriptable Studio Pro › Translate (MT).
- Translate: Select target language and click Translate Now.
MT Translate Window
Target Language
Type a BCP-47 language code (e.g., es, ja, de) or select from common locales dropdown. (Note: For LocalizedString fields, translations apply automatically to all target locales in Localization settings.)
String Table Override
*(Visible when Unity Localization is installed)* Override default String Table Collection for the current translation batch.
Scope & Options
- Apply To: Selected Items or All Items.
- Skip Empty Strings: Ignores null/empty fields to save API quota.
- Dry Run (Preview in Console): Fetches translations without writing to assets/tables, printing output to Unity Console.
- Overwrite Existing Table Keys: Controls whether existing table entries are replaced.
- Key Naming Pattern Placeholders:
{TypeName},{FieldName},{AssetName},{#}(randomized string).
Global Localization Settings
Configure master rules inside Settings › Localization:
- Auto-Create Missing Keys: Automatically creates new String Table entries for missing keys.
- Overwrite Existing Keys: Master toggle for overwriting table entries.
- Target Locales: Define default target locales (e.g., French, German) for one-click multi-language generation.
- Target String Table: Default Unity String Table Collection.
Setting Up MT Providers
DeepL
- Provider: Select
DeepLand click Apply Defaults. - API Key: Enter your DeepL Authentication Key.
- DeepL Free Api Toggle: Keep enabled for Free tier; disable for Pro tier.
- Batching: Keeps batch requests enabled for fast operation.
Google Cloud Translation (V2)
- Provider: Select
GoogleCloudV2and click Apply Defaults. - API Key: Enter your Google Cloud API Key (ensure Cloud Translation API is enabled in Google Cloud Console).
Azure Translator
- Provider: Select
AzureTranslatorand click Apply Defaults. - API Key: Enter your Azure subscription key.
- Azure Region: Enter resource region code (e.g.,
eastus,westeurope).
LibreTranslate (Local Docker Setup)
LibreTranslate is open-source and free for offline use via Docker. Create a batch script (C:\CustomAI\LibreTranslate\start.bat):
@echo off
title LibreTranslate Local Server
echo Starting LibreTranslate Local Server via Docker...
docker ps | findstr libretranslate_server >nul
if %errorlevel%==0 (
echo [OK] LibreTranslate is already running on port 5000.
) else (
docker start libretranslate_server >nul 2>&1
if %errorlevel% neq 0 (
echo [INFO] Downloading and creating new container (this may take a while)...
docker run -d --name libretranslate_server -p 5000:5000 libretranslate/libretranslate
) else (
echo [OK] Started existing LibreTranslate container.
)
)
echo.
echo Server running at: http://localhost:5000/translate
pause
- Provider: Select
LibreTranslate. - Base URL: Set to
http://localhost:5000/translate.
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, Type Subfolder, or Single Subfolder.
- Ping Folder: Highlights destination folder after asset generation.
🏷️ Naming Patterns
Placeholders: {TYPE} (class name), {i} (index), {ii} (padded index 01, 02), {iii} (padded 001), {DATE}.
🎨 Visuals & UI
- Pill Height: Adjust height of Pill Strip.
- Assembly Names: Toggle displaying assembly namespaces (e.g.,
[Assembly-CSharp]). - Grid Lines: Toggle grid visibility.
⚙️ Window Behaviors New in v3.1
Auto-Close Panels: Configure whether operational windows (AI Generator, AI Refiner, Smart Fill, Batch Rename) auto-close after executing actions or stay open for continuous work.
Shortcuts
Rebind hotkeys via the Visual Keyboard Mapper in Settings › Shortcuts.
Ctrl+M— Open WindowCtrl+S— Save / Create AssetsCtrl+Z— UndoCtrl+F— Open Universal SearchCtrl+D— Duplicate Row
Grammar & Translation Configuration New in v4.5
Configure language profiles directly in Project Settings:
- Grammar Services: Assign default Grammar Profile under Settings › Grammar Services. See Grammar Checking.
- MT Services: Assign default Translation Profile under Settings › MT Services. See Machine Translation.