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

spinner

Data Flow

spinner

Key Concepts

Concept
Description

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:

File
Nested Type

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

Dependency
Usage

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

Class
Description

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

Last updated