Installation
1. Import the QuetzaCore SO Workbench package into your Unity project.
2. The tool will automatically create necessary folders and settings files.
3. Access the QuetzaCore SO Workbench via `QuetzaCore/QuetzaCore SO Workbench` in the Unity menu bar.
Technical Details
- Unity Version: Compatible with Unity 2021.3.0f1 and later.
- Dependencies: Only uses Unity's built-in UnityEngine and UnityEditor APIs.
- Performance: Lightweight implementation with minimal memory footprint.
- Data Storage: Uses ScriptableObject for reliable serialization and version control compatibility.
Quick Start
1. Open the QuetzaCore SO Workbench window from the menu: `QuetzaCore/QuetzaCore SO Workbench`.
2. Create a new group by clicking the `[+] Add Group` button.
3. Add assets using Search: Click the `Open Search` button or press `Ctrl+F` to open the search window.
4. Add assets using Drag & Drop: Drag ScriptableObject assets from your Project window directly into the specific group you want.
5. Click on pinned assets to view and edit them in the built-in Inspector panel.
6. Organize your ScriptableObject assets into logical groups for better workflow management.
Search Functionality
- Open Search Window: Click the "Open Search" button in the toolbar or press `Ctrl+F`.
- Search Assets: Type at least 2 characters to search for ScriptableObject assets project-wide.
- Navigate Results: Use arrow keys or mouse to select results.
- Add to SO Worktable: Click "Add to SO Worktable" button or press Enter to add selected asset.
- Smart Group Assignment:
- No groups: Creates "Default Group" automatically.
- One group: Adds directly to existing group.
- Multiple groups: Shows group selection popup.
Detailed Usage Documentation
Creating Groups
- Click `[+] Add Group` to create a new asset group
- Groups are collapsible and help organize related assets
- Each group maintains its own list of pinned objects
- Group Name Editing: Click directly on group names to edit them with normal text field behavior
- Expand/Collapse: Use the checkbox next to group names to show/hide group contents
Pinning Scriptable Object Assets
- Method 1: Drag ScriptableObject assets from Project window directly into a specific group.
- Method 2: Right-click ScriptableObject assets in the Project window and select "Pin to QuetzaCore SO Workbench".
- Smart Group Selection: Automatically handles different scenarios:
- No Groups: Creates a "Default Group" and pins assets directly.
- One Group: Pins assets directly to the existing group.
- Multiple Groups: Shows a popup window with all available groups.
- Group Selection Window: Displays all groups with a prominent "Create New Group" option.
- User-Friendly Interface: Clean, scrollable list with clear group names and cancel option.
- Note: Only ScriptableObject-derived assets can be pinned. Other asset types (prefabs, textures, scripts, etc.) will be automatically filtered out
- Precise Targeting: Each group has its own exclusive drop zone that matches its visual boundaries exactly
- Multi-Group Support: Successfully target any group (Group1, Group2, Group3, etc.) even when multiple groups are expanded
- Dynamic Drop Zones: Drop zones automatically adjust based on group content and expand/collapse state
- Drag-and-Drop between groups: Keep your worktable organized with an intuitive drag-and-drop between groups feature.
Managing Assets
- Click on any pinned asset to view it in the built-in Inspector panel
- Use the `[X]` button next to assets to unpin them
- Use `Clear Worktable` to remove all groups and assets from the worktable (with confirmation)
Undo/Redo in Workbench Inspector
- ScriptableObject Support: Properly handles undo/redo for ScriptableObject property changes (which Unity doesn't do automatically)
- Standard Shortcuts: Use `Ctrl+Z` (undo) and `Ctrl+Y` or `Ctrl+Shift+Z` (redo) as normal
Worktable Management
- Save Worktable: Save current worktable configuration with a custom name and description
- Load Worktable: Load previously saved worktable configurations
- Worktable Persistence: All worktables are saved as ScriptableObject assets for version control compatibility
- The QuetzaCore SO Workbench layout persists between Unity sessions