Files
AppleHillsProduction/docs/editor_tools_overview.md
2025-10-21 14:54:58 +02:00

9.0 KiB
Raw Blame History

Apple Hills Editor Tools Menu Items Overview

A single-page overview of all editor tools exposed via Unity menu items in Assets/Editor. Outlines whats available from the toolbar, what each tool does, and when to use it.

Table of Contents

How to Read This Page

  • Menu Path: the exact path youll see in Unitys top menu. Click it to open/run the tool.
  • File: where the tool is implemented (for quick code lookup). All names/paths are shown as inline code.
  • What it does: a brief, practical summary.
  • Typical use: when to use it.
  • Notes: caveats or behavior details.

AppleHills Menu

AppleHills/Card Editor

  • File: Assets/Editor/CardSystem/CardEditorWindow.cs
  • What it does: Opens the card authoring window for the raritybased card system with live UI preview and asset management.
  • Typical use: Create/edit CardDefinition assets, preview via the ineditor card UI, manage visuals using CardVisualConfig.
  • Notes: Autocreates Assets/Data/Cards on first run and discovers all CardDefinition assets there. Loads Assets/Prefabs/UI/Cards/SIngleCardDisplayUI.prefab for preview.

AppleHills/Settings Editor

  • File: Assets/Editor/Settings/SettingsEditorWindow.cs
  • What it does: Centralized editor for project settings assets derived from BaseSettings (e.g., PlayerFollowerSettings, InteractionSettings, DivingMinigameSettings).
  • Typical use: Create/edit settings assets under Assets/Settings/ and sync editor-time previews via SettingsAccess.
  • Notes: Ensure Addressables keys are correct for runtime: Settings/<TypeName>.

AppleHills/Developer Settings Editor

  • File: Assets/Editor/Settings/DeveloperSettingsEditorWindow.cs
  • What it does: Opens the developer-focused settings page (QA/dev toggles, diagnostics). Useful for dev-only configuration.
  • Typical use: Adjust developer options that shouldnt ship to players but are useful during iteration.

AppleHills/Item Prefab Creator

  • File: Assets/Editor/Tools/PrefabCreatorWindow.cs
  • What it does: Creates new item prefabs quickly and optionally wires data (PickupItemData, PuzzleStepSO) and components (Interactable, Pickup, ItemSlot, ObjectiveStepBehaviour).
  • Typical use: Rapidly scaffold interactable items with correct layers and components; autosave to chosen Assets/Prefabs/... and Assets/Data/... paths.
  • Notes: Uses helper PrefabEditorUtility for folder selection and ScriptableObject creation.

AppleHills/Item Prefab Editor

  • File: Assets/Editor/Tools/ItemPrefabEditor.cs
  • What it does: Edits selected item prefabs/objects that include Interactable, toggling between Pickup/ItemSlot, and adding ObjectiveStepBehaviour. Allows inplace editing/creation of linked PickupItemData and PuzzleStepSO.
  • Typical use: Convert/update existing prefab setup without leaving the inspector flow.

AppleHills/Scene Object Locator

  • File: Assets/Editor/Tools/SceneObjectLocatorWindow.cs
  • What it does: Scans the current scene and lists ObjectiveStepBehaviour and Pickup objects with useful metadata (paths, data references). Provides ping shortcuts.
  • Typical use: Quickly find puzzle steps and items across the scene for debugging and content reviews.

Tools Menu

Tools/Batch Property Randomizer

  • File: Assets/Editor/Tools/BatchRandomizerWindow.cs
  • What it does: Batchrandomize selected serialized properties across many objects/components, with child inclusion and path filtering.
  • Typical use: Variations pass for sprites, colors, numbers on many selected GameObjects (and their children) at once.
  • Notes: Preserves expanded paths in UI; tall window with percomponent grouping.

Tools/Batch Component Adder

  • File: Assets/Editor/Utilities/BatchComponentAdder.cs
  • What it does: Adds a selected Component type to multiple prefabs/assets in bulk. Includes filtering for scripts/builtins and a searchable component list.
  • Typical use: Ensure a set of prefabs all have the same helper component.

Tools/Component Transfer Tool

  • File: Assets/Editor/Utilities/ComponentTransferWindow.cs
  • What it does: Copies selected components from one GameObject (source) to another (target) with a checklist UI.
  • Typical use: Migrate components during refactors; clone setups between similar objects.
  • Notes: Guards against selecting the same source/target.

Tools/Sprite Variant Generator

  • File: Assets/Editor/Tools/PrefabVariantGeneratorWindow.cs
  • What it does: Generates multiple prefab variants by assigning different sprites to detected SpriteRenderer components within a source prefab.
  • Typical use: Produce skins/variants en masse for a base prefab; autodetects renderers and manages naming/paths.
  • Notes: Warns on very large variant counts and can autochoose a save folder next to the source prefab.

Tools/Scene Browser

  • File: Assets/Editor/Tools/SceneBrowserWindow.cs
  • What it does: Lists all scenes under Assets/Scenes grouped by folders, with buttons to open/locate and toggle inclusion in Build Settings.
  • Typical use: Navigate/open scenes quickly; manage Build Settings membership from one place.

Tools/Pool Monitor

  • File: Assets/Editor/Utilities/PoolMonitorWindow.cs
  • What it does: Displays runtime object pool statistics (singleprefab and multiprefab pools). Supports autorefresh.
  • Typical use: Inspect pool usage in Play Mode to spot leaks, overallocation, or churn.
  • Notes: Play Mode only; shows a helpful message otherwise.

Tools/Sprite Collider Generator

  • File: Assets/Editor/Utilities/SpriteColliderGenerator.cs
  • What it does: Generates polygon colliders for sprites based on their alpha, for one or many selected sprites/assets.
  • Typical use: Quickly add colliders to 2D sprites without manual tracing.

Bootstrap Menu

Bootstrap/Editor Initialise (toggle)

  • File: Assets/Editor/Bootstrap/CustomBootEditorUtils.cs
  • What it does: Toggles editmode bootstrapping. When enabled, CustomBoot initialises in Edit Mode so you can preview booted systems in the Scene view.
  • Typical use: Designer/dev preview of booted singletons/services without entering Play Mode.
  • Notes: This menu item has a validator ([MenuItem(EDITOR_INIT_MENU, true)]) to show a checkmark when enabled. Editmode caveats apply: objects are added to the current scene, deinit occurs on scene save and when entering Play Mode.

Assets/Create Menu

Assets/Create/Dialogue Graph

  • File: Assets/Editor/Dialogue/DialogueGraph.cs
  • What it does: Creates a new RuntimeDialogueGraph asset for the dialogue system.
  • Typical use: Start a new NPC conversation graph; then open it in the dialogue editor.

Paths & References

  • Bootstrap
    • Assets/Editor/Bootstrap/CustomBootEditorUtils.cs
    • Assets/Editor/Bootstrap/CustomBootSettingsProvider.cs (Project Settings provider, not a menu item)
    • Assets/Editor/Bootstrap/CustomBootProjectSettings.cs (settings asset class, not a menu item)
  • Card System
    • Assets/Editor/CardSystem/CardEditorWindow.cs
  • Dialogue
    • Assets/Editor/Dialogue/DialogueGraph.cs
  • Settings
    • Assets/Editor/Settings/SettingsEditorWindow.cs
    • Assets/Editor/Settings/DeveloperSettingsEditorWindow.cs
  • Tools & Utilities
    • Assets/Editor/Tools/BatchRandomizerWindow.cs
    • Assets/Editor/Tools/PrefabCreatorWindow.cs
    • Assets/Editor/Tools/ItemPrefabEditor.cs
    • Assets/Editor/Tools/PrefabVariantGeneratorWindow.cs
    • Assets/Editor/Tools/SceneBrowserWindow.cs
    • Assets/Editor/Tools/SceneObjectLocatorWindow.cs
    • Assets/Editor/Utilities/BatchComponentAdder.cs
    • Assets/Editor/Utilities/ComponentTransferWindow.cs
    • Assets/Editor/Utilities/PoolMonitorWindow.cs
    • Assets/Editor/Utilities/SpriteColliderGenerator.cs

If you add a new tool with [MenuItem("...")], please also add it to this page to keep the overview current.