The Prowl editor is a fully integrated development environment built on the engine’s own immediate-mode UI library — the same library used for in-game UI. Every panel you see is a liveDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/ProwlEngine/Prowl/llms.txt
Use this file to discover all available pages before exploring further.
EditorWindow instance rendered each frame, which means the editor itself serves as a practical showcase of what the UI system can do. This guide walks through every major window, explains how the docking system works, and covers the play controls, undo/redo system, and drag-and-drop workflows you will use every day.
Default Window Layout
When you open a project for the first time, the editor constructs a default docked layout automatically. The layout is assembled in code — each window is docked relative to the previous one — and produces the following arrangement:Header Bar
The header bar runs across the top of the editor and is always visible when a project is open. It contains the main menu and the play controls.Main Menu
| Menu | Key Actions |
|---|---|
| File | New Scene, Save Scene (Ctrl+S), Save Scene As (Ctrl+Shift+S), Build Project |
| Edit | Scene Settings, Project Settings, Editor Preferences |
| Assets | Create Folder / Material / Script, Refresh Cache, Reimport All, Recompile |
| Create | 3D primitives (Cube, Sphere, Cylinder, Capsule, Plane, Quad), Lights (Directional, Point, Spot) |
| Windows | Open any editor window: Scene View, Game View, Hierarchy, Inspector, Assets Browser, Console, etc. |
Play Controls
The center of the header bar shows the currentPlayMode state and provides buttons to transition between modes:
▶ Play
Starts play mode. The scene is stored, then restored to its pre-play state when you stop. The Game window receives focus automatically if Auto Focus Game View is enabled in General Preferences.
⏸ Pause
Suspends game-time updates while keeping the scene rendered. Click Play again to resume. The button changes to Resume (▶) while paused.
⏹ Stop
Exits play mode and restores the scene to exactly the state it was in before you pressed Play. Any in-play changes are discarded.
Scene View (SceneViewWindow)
The Scene View is the primary 3D editing viewport. It renders the scene through a dedicated Editor Camera (a Camera component on a hidden GameObject with HideFlags.HideAndDontSave) directly into a RenderTexture, then draws that texture into the panel.
Camera Navigation
| Action | Control |
|---|---|
| Look around | Right-click + drag |
| Fly forward / back / left / right | Right-click held + W / S / A / D |
| Fly up / down | Right-click held + E / Q |
| Pan | Middle-click + drag |
| Zoom | Scroll wheel |
| Accelerate fly speed | Hold Shift while flying |
| Focus selected object(s) | F |
| Duplicate selected | Ctrl+D |
Gizmos and Transform Tools
When aGameObject is selected in the Hierarchy, a Transform Gizmo appears in the Scene View allowing you to translate, rotate, and scale the object interactively. The gizmo supports:
- Translate — X, Y, Z axes and XY, XZ, YZ planes, plus screen-space view plane
- Rotate — X, Y, Z axes and screen-space rotation
- Scale — X, Y, Z axes and uniform scale
SnapDistance for translation, SnapAngle for rotation).
Toggle between World and Local orientation using the globe/cube button in the viewport settings overlay (top-left of the viewport).
Viewport Settings Overlay
A small overlay in the top-left corner of the Scene View provides quick access to:- Select Editor Camera — selects the hidden editor camera
GameObjectin the inspector so you can inspect its properties. - Grid Type — switch between no grid, XZ, XY, or YZ plane grids.
- Gizmo Mode — toggle World / Local transform orientation.
- Open Preferences — opens the Scene View section of Editor Preferences directly.
Object Picking and Selection
Left-clicking in the Scene View raycasts against the scene’s gBuffer to determine whichGameObject was clicked. If the object belongs to a prefab instance, a single click selects the prefab root; double-clicking selects the specific child object inside the prefab.
Drag & Drop into the Scene View
You can drag assets from the Asset Browser directly onto the scene:| Asset Type | Result |
|---|---|
GameObject (prefab asset) | Clones the asset and places it at the surface hit point under the cursor, or 10 units in front of the camera if no surface is hit |
Prefab | Instantiates the prefab at the surface hit point under the cursor, or 10 units in front of the camera if no surface is hit |
Scene | Loads the dropped scene |
Material | Assigns the material to the MeshRenderer of the object under the cursor |
Game Window (GameWindow)
The Game Window renders the scene through the game’s active Camera components, exactly as it will appear at runtime. It is the play-mode preview panel. Input events are routed through the Game Window’s own InputHandler during play mode so that Input calls in your scripts respond to key presses only when the Game Window is focused.
Hierarchy Window (HierarchyWindow)
The Hierarchy Window displays the scene graph as a collapsible tree. Every GameObject in the active scene appears here, organized by parent-child relationships. Hidden objects (those with HideFlags.Hide or HideFlags.HideAndDontSave) are not shown.
Selecting GameObjects
Click a row to select aGameObject. Hold Shift or Ctrl for multi-selection. The selected objects are highlighted in both the Hierarchy and the Scene View (where their bounds are drawn as yellow wireframes).
Creating GameObjects
Click the + (circle-plus) button at the top-right of the search bar to open the Create GameObject popup, or right-click anywhere in the hierarchy panel. Options include:- New GameObject — an empty
GameObjectat the world origin - Everything under the Create sub-menu (primitives, lights, etc.)
Context Menu (Right-Click on a GameObject)
| Action | Description |
|---|---|
| Rename | Enter inline rename mode (also triggered by double-clicking) |
| Duplicate | Clones the selected object(s) |
| Delete | Removes the object(s) from the scene (undoable) |
| Align With View | Moves the object to match the editor camera’s position and rotation |
| Align View With | Moves the editor camera to the object’s position and rotation |
| Break Prefab Connection | Detaches the object from its prefab asset |
Reparenting via Drag & Drop
Drag aGameObject row onto another row to reparent it. Drop it onto the empty space below the list to move it back to the scene root. Dropping a prefab asset from the Assets Browser into the Hierarchy instantiates it as a child of the drop target.
Search
Use the search bar at the top of the Hierarchy to filter the visible entries by name. The filter is case-insensitive.Inspector Window (InspectorWindow)
The Inspector shows the properties of the currently selected object. When a GameObject is selected it lists all attached components; each component is rendered by its registered property drawer. Built-in drawers handle all primitive types, vectors, quaternions, colors, asset references, enums, and arrays. Custom drawers can be registered for any type by creating a class in an Editor script.
Asset files selected in the Asset Browser are also shown in the Inspector, where you can view and edit their importer settings (e.g., texture compression, normal-map flag).
Asset Browser (AssetsBrowserWindow)
The Asset Browser shows the contents of the currently selected folder inside your Assets/ directory and lets you navigate the project’s asset tree.
Navigation
The Asset Tree (a companion panel calledAssetsTreeWindow) on the left shows the folder hierarchy. Clicking a folder in the tree updates the Asset Browser to show that folder’s contents. You can also use the search bar inside the Browser to find files by name across the entire current folder (including sub-folders).
Creating Assets
Right-click inside the Assets Browser (or use the Assets menu bar) to create new assets:| Action | Result |
|---|---|
| Create → Folder | New directory, immediately enters rename mode |
| Create → Material | New .mat file with default PBR material settings |
| Create → Script | New .cs file from the built-in script template |
Drag & Drop from the Browser
Drag any asset from the Browser to:- The Scene View to instantiate it or assign a material
- The Hierarchy to instantiate prefabs
- An Inspector field to assign an asset reference (e.g., drag a
Texture2Donto a material’s albedo slot)
Asset Operations
| Action | How |
|---|---|
| Rename | Double-click a file or folder name |
| Delete | Select and press Delete |
| Reimport | Right-click → Reimport, or use Assets → Reimport All from the menu bar |
| Refresh cache | Assets → Refresh Cache |
Console Window (ConsoleWindow)
The Console Window displays all output from Debug.Log, Debug.LogWarning, Debug.LogError, and unhandled exceptions. Messages are color-coded — standard log messages appear in white, warnings in yellow, errors and exceptions in red. The console is populated during both edit mode and play mode.
Build Window (BuildWindow)
Open the Build Window via File → Build Project. It lets you configure and trigger a standalone build of your game. The build system:
- Traverses all scenes included in the build
- Collects only the assets referenced by those scenes (dependency tracking)
- Packs them into a compact asset archive
- Produces a self-contained executable for the target platform
Docking System
The editor uses a hierarchical binary-split docking system (DockContainer, DockNode). Windows are attached to dock nodes at a specified zone (Left, Right, Top, Bottom, or Center) with a configurable split ratio.
Resizing Panels
Hover the mouse over the border between two docked panels. A yellow highlight appears on the splitter. Click and drag to resize both sides simultaneously. The minimum panel size is 100 px in each direction.Undocking a Window
Drag a window’s title tab away from its current dock position. The window becomes a free-floating panel that you can position anywhere on screen.Re-docking a Window
Drag a floating window over a docked panel. Drop zones appear at the edges and center of the target panel. Release the mouse over a zone to dock the window there.Restoring Closed Windows
Any window can be reopened from Windows in the menu bar. The available windows are:Scene View
Windows → Scene View
Game View
Windows → Game View
Hierarchy
Windows → Hierarchy
Inspector
Windows → Inspector
Asset Browser
Windows → Assets Browser
Asset Tree
Windows → Assets Tree
Console
Windows → Console
Project Settings
Windows → Project Settings
Editor Preferences
Windows → Editor Preferences
Scene Settings
Windows → Scene Settings
Undo & Redo
Prowl has a full undo/redo stack (UndoRedoManager) that covers:
- Transform changes (move, rotate, scale via gizmos)
- Adding and deleting
GameObjects - Reparenting (drag & drop in the Hierarchy)
- Renaming
GameObjects - Prefab operations (break link, clone)
| Action | Shortcut |
|---|---|
| Undo | Ctrl+Z |
| Redo | Ctrl+Y |
Undo/redo history is currently cleared when scripts are recompiled and the editor restarts. Saving your scene frequently (
Ctrl+S) is strongly recommended during active development.