Skip to content

Editor Overview ​

The Opal editor is the same in the browser and in Opal Desktop: the stage sits in the center, editor panels surround it, and the top bar switches projects, scenes, workspaces, tools, and play mode.

Opal editor - Arrange workspace

Top Bar ​

Left to right:

AreaPurpose
Opal logoSite/editor home anchor
FileSave, import/export, open project; publish to arcade in the browser editor
Project pickerSwitch or open projects (quick switch; full management via launcher)
Scene pickerQuick-switch scenes; create, rename, duplicate, reorder, and choose the start scene in the Scenes dock panel
Workspace tabsSwitch editing mode
Play controlsPlay in viewport, fullscreen, stop, stats
Undo / redoHistory buttons
AddImport art, library assets, and sounds
AgentOpens the project assistant
HelpOnline tutorials/docs, console, problems, about
ThemeLight/dark toggle and palette customizer
Settings (⚙, Ctrl+, / Cmd+,)Editor preferences (color mode, snap to grid, colliders, play stats, layout resets), project input, multiplayer rooms and hosting, the keyboard-shortcut reference, and your account
AccountSign-in state and account menu in the browser editor

Desktop adds folder commands on File: New Project…, Open Folder…, Reveal Project Folder, Duplicate Project…, Cloud Sync…, and more. Full list: Opal Desktop. Download it from opal-engine.com/download.

File Menu ​

Use File for project I/O and publishing:

CommandUse
SaveFlush pending autosave now (⌘S / Ctrl+S)
Import Scene...Import a scene file into the current project
Open Project...Open a .opal project bundle from your computer
Open RecentQuickly reopen up to 5 recent projects (with scene counts)
Export SceneDownload the active scene as opal-scene.opal (falls back to .json only when no blob path is available)
Export GameDownload the full project as a .opal backup
Publish to Arcade… / Manage Arcade Listing…Ship the current build vs edit the store page without re-shipping (browser editor)
Cloud Sync…Desktop only — upload, download latest, or sync the project folder with your Opal account

Add Menu ​

Use Add for assets:

CommandUse
Add ArtImport images and place them in the scene
LibraryImport images into the asset library without placing them
SoundsImport or manage audio clips

Workspaces ​

Click a tab — or an item under Flow ▾, Animate ▾, or Create ▾ — to change what you are editing. The stage and panels adapt to the current workspace.

TabWorkspacePrimary use
ArrangeScene layoutPlace objects, hierarchy, transform gizmo, inspector
Flow ▾ → Object FlowPer-object FlowVisual scripts attached to the selected object
Flow ▾ → Scene FlowScene/project FlowGlobal scene rules, transitions, startup logic
Animate ▾ → MotionMotionKeyframe object properties and drive Motion Machine states
Animate ▾ → RiggingSkeleton StudioBones, slots, IK, mesh weights, skins, skeleton clips
Create ▾ → PixelsPixel StudioDraw sprites, cut photos, bake PNG / .ssb / tilesets
Create ▾ → ArtArt CanvasSlice sheets, assemble frames, preview animation, save .ssb bundles
Create ▾ → SoundSound CanvasCompose, process, preview, and bake WAV sound effects
Create ▾ → FXParticle CanvasCompose particle plans, preview, and bake .pfx effects
ScriptsScript editorOpalScript components, Behavior Components, and custom Flow nodes
UIUI designerHUDs, menus, buttons, labels, UI layers

Arrange is the home base. Most projects bounce between Arrange, Object Flow, Create (Pixels / Art / Sound / FX), Motion, Scripts, and Play.

Arrange Workspace ​

Stage ​

The stage is the main scene canvas.

  • Click an object to select it.
  • Drag to move it.
  • Use handles for scale and rotation.
  • Scroll or pinch to zoom.
  • Hold Shift while scrolling to pan horizontally with a mouse wheel. With Shift held, two-axis trackpad scrolling keeps both pan directions.
  • Press Q to toggle the radial quick-tools when an object is selected.

Layout Tools ​

Open Layout in the stage toolbar to arrange selected scene objects:

ToolBehavior
AlignAlign edges or centers to the selection bounds. Choose Stage to move the whole selection together to a stage edge or center.
DistributeGive three or more selected groups equal horizontal or vertical edge gaps, keeping the first and last groups in place.
SpaceSet an exact horizontal or vertical edge gap for two or more groups. Zero makes adjacent bounds touch; the first group stays in place.

Bounds account for rotation, scale, and descendants. Selecting a parent and its child moves their group once. Groups whose selected root is locked or is the pinned prefab origin stay fixed: selection alignment can use them as anchors, while stage alignment, distribution, and spacing require every selected group to be movable.

Distribution can overlap bounds when space is tight. If equal gaps would change the groups' spatial order, the action explains why it cannot fit and leaves the scene unchanged.

Each action is one Undo step. Layout tools are available in Arrange while editing, and the command palette (Ctrl+K / Cmd+K) exposes the same actions. Fractional positions and dimensions survive saving, reopening, and export.

Scene Hierarchy ​

The left panel lists objects in a tree.

  • Click to select.
  • Drag to reorder or reparent.
  • Multi-select with Ctrl / Cmd plus click.
  • Use the context menu for duplicate, delete, group, rename, and related actions.
  • Select the scene root for scene-level inspector fields.

The same left drawer also hosts the Assets tab.

Inspector ​

The right panel edits the current selection:

  • Transform
  • Object properties
  • Art and image assignment
  • Interaction settings
  • Components and component fields
  • Object variables
  • Motion or skeleton summaries
  • Prefab actions and overrides

With multiple objects selected, shared fields show mixed values until edited.

During Play, component fields show the running object's values. Supported settings can be changed live in the inspector: Joint Motor Controller speed, force and idle behavior; standalone Revolute Joint 2D motors; and character controller speed, acceleration, friction and platformer jump/gravity settings. Script components also expose their writable [Property] fields. Controller-owned joint motors stay read-only; tune their Joint Motor Controller instead. Camera inspection includes the live view position, zoom and follow state. Other settings and component attachments require stopping Play.

The Live tuning panel offers Preview changes, with a before/after comparison and a checkbox for each change. Choose what to keep, then Apply selected and Stop. This stops Play and applies only the reviewed fields as one scene undo step. Normal Stop discards live edits. Spawned objects, transforms, runtime outputs, replaced components and stale previews cannot be copied into the authoring scene. Live tuning is unavailable in a network replica; use local or host Play.

Object and asset pickers retain unavailable saved references with a Missing label. Choosing a replacement repairs the reference; objects with the same name include their IDs so you can distinguish them.

Workbench Dock ​

The bottom dock can host:

PanelUse
AssetsBrowse, import, inspect, and open or place library items
GraphInspect relationships and dependencies
ScenesManage scenes and choose the start scene
VariablesDeclare shared values and find their uses
ConsoleRuntime/editor messages
ProblemsValidation warnings and repair hints

Layouts are saved per workspace, so the panels you use in Art do not have to match Arrange or Object Flow.

Use a tab's menu to move or close its panel. Maximize panel temporarily gives the bottom panel the work area; Restore panel size returns to your saved sizes. Narrow windows collect movable panels below while keeping native Frames and Timeline tools available. Widening restores the desktop arrangement.

The persistent bottom shelf beside Saved has Variables, which opens the GameState dock panel, and Input, which opens Settings → Project Input. Both remain available when the dock is collapsed. See Variables and GameState and Input and Controls.

Object Flow And Scene Flow ​

Object Flow opens a node graph for the selected object. Scene Flow uses the same graph UI for scene-wide rules.

You will see:

  • Graph canvas
  • Node catalog
  • Node and wire inspector
  • Rule/event lists
  • Live Flow overlay in Play mode

Each rule starts from an event such as On Tap, On Scene Start, collision, timer, or custom event. Details: Visual scripting.

Pixel Studio ​

Pixel Studio is the drawing surface under Create ▾ → Pixels. Draw or cut out a sprite, keep a .opix working file, then Bake PNG (or Bake animation for two or more frames). Save is the only way to keep layers and frames; bake writes sprites the scene can use.

Details: Pixel Studio.

Art Workspace ​

Art Canvas is a graph board for sprite animation assets:

text
Image -> Slice Sheet -> Animation -> Preview -> Save .ssb

Use it to:

  • Slice sprite sheets.
  • Assemble loose frame images.
  • Re-time existing .ssb bundles.
  • Bake Flip, Tint, Outline, Order, and Bake Scale variants.
  • Register jittery frames with onion-skin previews.
  • Save reusable sprite sequence bundles.

Details: Art Canvas.

Sound Workspace ​

Sound Canvas is a graph board for audio assets:

text
Sample → Trim → Normalize → Preview
                         → Save → coin_pickup.wav

Use it to:

  • Clean up imported clips (trim, fade, normalize).
  • Layer samples with Mix.
  • Generate synth tones and noise textures.
  • Record mic takes and bake them to the library.
  • Preview waveforms before saving.
  • Bake variation takes from one pipeline.

Details: Sound Canvas.

FX Workspace ​

Particle Canvas is a graph board for particle assets. Open Create ▾ → FX. Starter patches live under Effects. Save bakes a .pfx you play with Spawn VFX, a Particle Emitter, or a vfx: motion marker. The canvas never runs in the player.

Details: Particle Canvas.

Motion Workspace ​

Motion animates object properties such as position, rotation, scale, opacity, and visual state. It includes timelines, clips, easing, onion skinning, and Motion Machine state transitions. Use Motion when the object moves through the scene or changes transform over time.

Details: Motion and rigging.

Rigging Workspace ​

Rigging is Skeleton Studio. Open Animate ▾ → Rigging. Setup builds the rest pose; Animate poses and keys. Saving always stores the rest pose.

  • Setup bones, slots, skins, IK, meshes, and weights.
  • Animate poses and clips.
  • Save finished characters as reusable assets.

Details: Skeleton Studio.

Components In Arrange ​

Components are object-centered. Select an object in Arrange and use the Inspector's Components card to browse, attach, remove, search, and configure them. Attached component fields, events, actions, and conditions become available in Object Flow.

Reusable custom components are Behavior Components authored with opal.component(...) in the Scripts workspace. An attached script component provides Edit Source so you can move directly from the object back to its definition.

Tutorial: Getting started with components.

UI Workspace ​

The UI workspace designs in-game HUDs and menus. Widgets include buttons, labels, panels, bars, and other UI elements. UI can bind to GameState and object state during Play.

Details: UI and HUD.

Scripts Workspace ​

Scripts is where you write OpalScript classes, Behavior Components (opal.component), and custom Flow nodes. New Behavior starts a typed class; attach it from Add Component like a built-in.

Details: Scripts and the high-level scripting track.

Asset Library ​

Open the Assets tab in the left drawer.

FolderTypical contents
ImagesSprites, backgrounds, tiles, icons, particles
CharactersRigged character assets
BlueprintsPrefabs and reusable object templates
AudioSound effects and music (including WAVs baked in Sound Canvas)
Sprite sequences.ssb bundles from Art Canvas or Pixel Studio
Particles.pfx effects from Particle Canvas

Click or drag assets to place or assign them. Right-click for rename, delete, and organization actions.

Keyboard Shortcuts ​

The complete, per-workspace reference is in the editor: Settings → Shortcuts (⚙ in the topbar, Ctrl+, / Cmd+,, or Help → Keyboard Shortcuts). The Arrange essentials:

Shortcuts are disabled while typing in a text field.

KeyAction
Ctrl+Z / Cmd+ZUndo
Ctrl+Y / Ctrl+Shift+ZRedo
Ctrl+D / Cmd+DDuplicate selection
Ctrl+A / Cmd+ASelect all in hierarchy
Delete / BackspaceDelete selection
Arrow keysNudge selection 1 px
Shift+ArrowNudge 10 px
EscCancel gesture / deselect / collapse radial menu
QToggle radial quick-tools
G / S / R / AMove / Resize / Rotate / combined Transform tool
PToggle pivot edit mode (grab the pivot; Esc or P again to exit)
CToggle collider shape editor when a collider is selected

On the Arrange stage, drag empty space to box-select; hold Shift while dragging to add to the current selection. Pan still uses Space, Alt, or the middle mouse button.

The stage toolbar displays the active transform tool and its shortcut. Shift-resize keeps proportions; hold Alt after starting the drag to resize from the center. See Transform editing for snapping, axis constraints, pivot editing, and keyboard controls.

In Object Flow, Scene Flow, Art Canvas, Sound Canvas, and Particle Canvas, Delete removes selected graph items instead of scene objects.

Multiplayer ​

Open Settings → Multiplayer to host or join a room, copy an invite, view players and recent script actions, or leave. Server and player preferences are in the same section. Offline/local editing is the default; multiplayer is an advanced sharing feature, not required for publishing to the arcade.

Next Steps ​