Class ScyllaMenuItems
Defines all Scylla Framework menu items registered in the Unity Editor's main menu,
the GameObject context menu, and invocable keyboard shortcuts.
Inherited Members
Namespace: Scylla.Core.Editor
Assembly: ScyllaCore.Editor.dll
Syntax
public static class ScyllaMenuItems
Remarks
Every item except Getting Started is declared with ScyllaMenuItemAttribute and placed by Scylla.Core.Editor.ScyllaMenuRegistry. Menu items are organized into the following groups:
- Getting Started opens the Getting Started window. It is a plain
MenuItem, so it works even when the registry cannot register anything. - Setup Wizard opens the initial project setup wizard.
- Create creates a
ScyllaBootstrapGameObject in the active scene (Scylla/Create/Scylla Core). The same item is registered in theGameObject/ScyllaHierarchy context menu. - Utilities hosts standalone tools such as the Font Character Extractor (
Scylla/Utilities/). - Editor hosts framework operations: Module Browser, Debug Console, Validate Modules, Refresh Editor Styles and Inline Editor Descriptions (
Scylla/Editor/). - Help opens the online documentation and support pages, and About opens the About window.
Internal factory methods (CreateCoreConfiguration(bool),
CreateLoggerConfiguration(bool), CreateTimeConfiguration(bool),
CreateEventConfiguration(bool)) are shared with the Setup Wizard and
Bootstrap inspector editors to create configuration UnityEngine.ScriptableObject
assets in the default Assets/Scylla/Resources/Config/ folder.
Methods
CreateScyllaCore()
Creates a new ScyllaBootstrap component on a new "Scylla" GameObject
in the active scene and selects it in the hierarchy. Configuration assets found in
Resources are assigned to its empty slots. If a ScyllaBootstrap
already exists in the scene an informational dialog is shown and the existing object
is selected instead.
Accessible via Tools > Scylla > Create > Scylla Core.
Declaration
[ScyllaMenuItem(ScyllaMenuGroup.Create, "Scylla Core", ModuleID = "ScyllaCore", Validate = "ValidateCreateScyllaCore")]
[ScyllaMenuItem(ScyllaMenuGroup.GameObject, "Scylla Core", ModuleID = "ScyllaCore", Validate = "ValidateCreateScyllaCore")]
public static void CreateScyllaCore()
Remarks
The creation is registered with Unity's Undo system so it can be undone via
Ctrl/Cmd+Z. Only one ScyllaBootstrap is permitted per scene;
the menu item is disabled when one already exists (see ValidateCreateScyllaCore()).
OpenAboutWindow()
Opens the Scylla About window, which displays version information, credits, and
links to documentation and support resources.
Accessible via Tools > Scylla > About Scylla….
Declaration
[ScyllaMenuItem(ScyllaMenuGroup.About, "About Scylla...")]
public static void OpenAboutWindow()
OpenDebugWindow()
Opens the Scylla Debug Console window, which displays framework log output and
provides runtime diagnostic tools.
Accessible via Tools > Scylla > Editor > Debug Console... or
Ctrl/Cmd+Shift+D.
Declaration
[ScyllaMenuItem(ScyllaMenuGroup.Editor, "Debug Console...", Order = 1, Shortcut = " %#d")]
public static void OpenDebugWindow()
OpenDocumentation()
Opens the Scylla Framework documentation in the system's default web browser.
Navigates to URL_DOCUMENTATION.
Accessible via Tools > Scylla > Documentation.
Declaration
[ScyllaMenuItem(ScyllaMenuGroup.Help, "Documentation", Order = 0)]
public static void OpenDocumentation()
OpenFontCharacterExtractor()
Opens the Font Character Extractor utility window, which allows inspection and
export of the Unicode character ranges covered by a selected font asset.
Accessible via Tools > Scylla > Utilities > Font Character Extractor....
Declaration
[ScyllaMenuItem(ScyllaMenuGroup.Utilities, "Font Character Extractor...", Order = 1)]
public static void OpenFontCharacterExtractor()
OpenGettingStartedWindow()
Opens the Scylla Getting Started Window, which provides an introduction to the
framework and quick-start instructions for new projects.
Accessible via Tools > Scylla > Getting Started... or
Ctrl/Cmd+Shift+G.
Declaration
[MenuItem("Tools/Scylla/Getting Started... %#g", false, 0)]
public static void OpenGettingStartedWindow()
Remarks
The one Scylla item that stays a plain MenuItem. Every other item is
registered by Scylla.Core.Editor.ScyllaMenuRegistry through Unity's internal menu API,
so this entry keeps a way into the framework should that API ever be missing.
OpenModuleWindow()
Opens the Scylla Module Browser window, which lists all Scylla modules present
in the active scene together with their initialization status and dependencies.
Accessible via Tools > Scylla > Editor > Module Browser... or
Ctrl/Cmd+Shift+M.
Declaration
[ScyllaMenuItem(ScyllaMenuGroup.Editor, "Module Browser...", Order = 0, Shortcut = " %#m")]
public static void OpenModuleWindow()
OpenSupport()
Opens the Scylla Discord server in the system's default web browser.
Navigates to URL_DISCORD.
Accessible via Tools > Scylla > Support.
Declaration
[ScyllaMenuItem(ScyllaMenuGroup.Help, "Support", Order = 1)]
public static void OpenSupport()
RefreshEditorStyles()
Clears and rebuilds the cached ScyllaEditorStyles and
ScyllaEditorColors for the current editor theme. Use this after
switching between Unity's Light and Dark themes to ensure Scylla inspector and
window styles reflect the new theme immediately.
Accessible via Tools > Scylla > Editor > Refresh Editor Styles.
Declaration
[ScyllaMenuItem(ScyllaMenuGroup.Editor, "Refresh Editor Styles", Order = 11)]
public static void RefreshEditorStyles()
ShowSetupWizard()
Opens the Scylla Setup Wizard, which walks new users through creating the
ScyllaBootstrap GameObject and required configuration assets.
Accessible via Tools > Scylla > Setup Wizard… or the keyboard shortcut
Ctrl/Cmd+Shift+W.
Declaration
[ScyllaMenuItem(ScyllaMenuGroup.Root, "Setup Wizard...", Shortcut = " %#w")]
public static void ShowSetupWizard()
ToggleInlineEditorDescriptions()
Toggles inline property descriptions across Scylla editor inspectors. When enabled, the tooltip text for each property is shown as a muted label above the field instead of only appearing on hover. Applies to configuration inspectors and any other Scylla inspector that opts in.
Declaration
[ScyllaMenuItem(ScyllaMenuGroup.Editor, "Inline Editor Descriptions", Order = 12, Shortcut = " %#l", Validate = "ValidateToggleInlineEditorDescriptions")]
public static void ToggleInlineEditorDescriptions()
ValidateCreateScyllaCore()
Validation callback for the Tools > Scylla > Create > Scylla Core menu item.
Disables the item when a ScyllaBootstrap is already present in the
active scene, enforcing the single-bootstrap constraint.
Declaration
public static bool ValidateCreateScyllaCore()
Returns
| Type | Description |
|---|---|
| bool |
|
ValidateModules()
Inspects all ScyllaModule components in the active scene and verifies
that each is a direct child of the ScyllaBootstrap root GameObject, logging
an error for every module with invalid placement and displaying a summary dialog.
Accessible via Tools > Scylla > Editor > Validate Modules or
Ctrl/Cmd+Shift+V.
Declaration
[ScyllaMenuItem(ScyllaMenuGroup.Editor, "Validate Modules", Order = 10, DividerBefore = true, Shortcut = " %#v", Validate = "ValidateValidateModules")]
public static void ValidateModules()
Remarks
A dialog is shown if no ScyllaBootstrap is found, if no modules are found, or after validation completes (indicating either success or the number of invalid modules). See the Unity Console for per-module error details.
ValidateToggleInlineEditorDescriptions()
Validation method for the Inline Editor Descriptions menu item. Sets the checkmark state to reflect the current EditorPrefs value.
Declaration
public static bool ValidateToggleInlineEditorDescriptions()
Returns
| Type | Description |
|---|---|
| bool |
ValidateValidateModules()
Validation callback for the Tools > Scylla > Editor > Validate Modules menu item.
Disables the item when no ScyllaBootstrap is present in the scene.
Declaration
public static bool ValidateValidateModules()
Returns
| Type | Description |
|---|---|
| bool |
|