Creator
The Creator subsystem provides an OdinMenuEditorWindow-based editor window for creating new Scriptable Factory scripts (C# classes) and factory object assets (ScriptableObject .asset files) from within the Unity Editor. It organizes all registered factories into a navigable tree, displaying script-based menus for factory types and object-based menus for concrete factory instances.
Architecture
Data Flow
Key Concepts
ScriptableFactoryCreator
The main OdinMenuEditorWindow that hosts the menu tree and all panels. Entry point via ShowWindow().
FactoryMenu
Abstract base for all menu items. Wraps a factory type and its Unity Object (MonoScript or ScriptableFactory asset).
FactoryScriptMenu
Menu item for a factory C# script. Displays the script importer header and embeds a creator panel for producing new sub-factories or factory objects.
FactoryObjectMenu
Menu item for a concrete factory asset. Displays the asset header and a full factory inspector via ScriptableFactoryEditor.
FactoryCreatorPanel
Abstract base for the creation UI embedded in script menus. Subclasses handle script generation or asset creation.
FactoryScriptCreatorPanel
Panel that generates a new C# factory class file with proper generic constraints, namespace, and using statements.
FactoryObjectCreatorPanel
Panel that creates a new ScriptableObject .asset instance of a concrete factory type.
Partial Class Structure
All classes in this subsystem are declared as nested types within the ScriptableFactoryCreator partial class. Each file contributes to the same outer class:
ScriptableFactoryCreator.cs
Window logic (outer partial)
Creator Panel/FactoryCreatorPanel.cs
FactoryCreatorPanel (abstract)
Creator Panel/FactoryObjectCreatorPanel.cs
FactoryObjectCreatorPanel
Creator Panel/FactoryScriptCreatorPanel.cs
FactoryScriptCreatorPanel
Menu/FactoryMenu.cs
FactoryMenu (abstract)
Menu/FactoryObjectMenu.cs
FactoryObjectMenu
Menu/FactoryScriptMenu.cs
FactoryScriptMenu
Dependencies
Odin Inspector
OdinMenuEditorWindow, OdinMenuTree, OdinMenuItem, PropertyTree, SirenixEditorGUI
Paragon.Editor
DrawGUI layout helpers, TypeTree type hierarchy
Paragon.Core.ScriptableFactory
ScriptableFactory, ScriptableFactoryRegistry, IFactorable
UnityEditor
EditorPrefs, AssetDatabase, MonoScript, Selection
Classes
Main editor window for creating factory scripts and objects
Abstract base panel for creation UI
Panel for creating factory ScriptableObject assets
Panel for generating factory C# script files
Abstract base menu item for the factory tree
Menu item for concrete factory assets
Menu item for factory script types
See Also
Scriptable Factory — runtime system overview
ScriptableFactoryRegistry — registry queried to build the object menu tree
ScriptableFactory — base factory class created by this tooling
Last updated