Features
Reference documentation for every OPAL feature.
Once you’ve followed Getting Started, this is where to dig into the details. Each page covers one feature area — what it does, how it’s configured, and the edge cases worth knowing.
In this section
- Engines — Install, remove, and switch between O3DE engine versions. Installer builds and source builds.
- Projects — Create, import, build, and launch projects. Engine pinning and per-project overrides.
- Gems — Browse configured repositories, enable gems per project, and manage custom gem sources.
- Queues — How OPAL schedules downloads, builds, and long-running tasks. Pausing, cancelling, and priorities.
- Settings — Workspace paths, default engine, build preferences, update channel, and telemetry.
1 - Engines
Install, update, and switch between O3DE engine versions.
The Engines page is OPAL’s answer to the question “which O3DE do I use?”. Install as many versions as you want. Pin projects to specific versions. Remove engines you no longer need — with full awareness of what will break.
Install an engine
Click Install Engine (top right of the Engines page). OPAL offers three install modes:
- Latest stable — the most recent tagged release.
- Specific version — pick any prior tagged release.
- Source build — clone a branch and build locally. Useful when you need engine patches.
Installer downloads run in the Downloads queue. Source builds run in the Builds queue. Both are interrupt-safe — you can close OPAL mid-install and resume later.
Set a default engine
Your default engine is the one used for new projects when you don’t override it. Click the Set Default button on any installed engine. The badge updates immediately.
Switch a project to a different engine
Open the project’s Settings dialog (right-click the project card → Settings, or the gear icon). Change Engine to any installed engine. OPAL writes the pin into project.json and prompts for a rebuild.
Remove an engine
Click the Remove button on an installed engine. OPAL shows an impact preview:
- How many projects are pinned to this engine
- Which projects will be orphaned (no compatible fallback)
- Total disk space reclaimed
Confirm to remove. Orphaned projects remain in your list but will show a Missing engine warning until you assign a new engine or reinstall the old one.
2 - Projects
Create, import, build, and launch O3DE projects.
The Projects page is the landing view of OPAL. Every project you’ve created or imported lives here. Each card shows at a glance what state the project is in and what actions are available.
Status badges
| Badge | Color | Meaning |
|---|
| Not built | Gray | Project exists but has never been configured or compiled |
| Building | Blue (animated) | A build is in progress — logs are streaming |
| Built | Green | Build is current — click Open to launch Editor |
| Build failed | Red | Last build errored out — View Logs to diagnose |
| Open | Purple | The Editor is running for this project right now |
| Missing engine | Yellow | The engine this project is pinned to isn’t installed |
Actions per project
Every project card has:
- Launch — opens the Editor
- Build — queues a build using the configured build command
- Gems — opens the per-project gem editor
- Settings — opens the project settings dialog (engine pin, build command, CPU cores)
- View logs — shows the most recent build logs
- Open in file system — jumps to the project folder in Explorer/Finder/your file manager
- Remove from OPAL — removes from OPAL’s list (does NOT delete the folder)
3 - Gems
Browse, install, and configure gems per project.
Gems are O3DE’s unit of reusable functionality — art, code, systems, whole frameworks. OPAL gives you three things the stock tooling doesn’t:
- A real browser with filters, search, and a proper inspector.
- Repository management that’s easy to keep current.
- Per-project gem editing that stays in sync with
project.json and CMake.
Browse the registry
The Gems page lists all gems available across every repository you’ve added. By default it includes the canonical O3DE gem registry; you can add any number of additional repositories.
Filter pills at the top: All, Installed, Updates available, Compatible with current engine. Search bar supports full-text plus operators:
author:Acme — only gems by Acmetag:audio — only audio-tagged gemsengine:25.05 — only gems compatible with a specific enginecategory:ui — category match
Combine freely: author:Acme tag:audio works.
The Gem Inspector
Click any gem to open the Inspector. You’ll see:
- Overview — name, author, version, short description
- README — rendered markdown from the gem’s README
- Dependencies — other gems required
- Compatibility — which O3DE engine versions it supports
- Changelog — if the gem maintains one
- Install / Update / Remove — one-click actions
Per-project gem editing
From a project card, click Gems → OPAL opens the Gem Editor for that project. You see the full list of available gems with checkboxes for the ones currently enabled. Toggle to enable or disable. OPAL:
- Updates
project.json’s gem_names array - Updates the project’s
Gem/CMakeLists.txt - Offers a rebuild prompt when you close the dialog
Repository management
Go to Settings → Repositories to add, remove, or refresh gem repositories. Each repo has:
- URL
- Refresh interval (manual, hourly, daily, weekly)
- Authentication (optional — for private repos)
- Offline cache status
OPAL keeps a local cache of every indexed repo so you can browse offline.
4 - Queues
Download and build queue controls, reference.
OPAL ships with two separate queues: one for downloads (engines, gems, assets) and one for builds (engine source builds, project builds). They behave the same way from a UX perspective: add, pause, resume, reorder, remove.
What you can do in a queue
- Pause / Resume individual items
- Pause All / Resume All the whole queue
- Move to top / Move to bottom an item
- Cancel an item (asks for confirmation; preserves partial state to a trash area)
- Retry a failed item
- Clear completed to reclaim the list
All of these persist across launches. Close OPAL mid-download, reopen an hour later, and the queue looks exactly like you left it — same items, same order, same progress.
Parallelism
How many downloads run in parallel? How many builds? Configurable — independently — in Settings → Queues.
Good defaults:
- Downloads:
4 concurrent connections - Builds:
1 concurrent on laptops, 2–3 on workstations
Speed limits
Settings → Queues → Download speed limit sets a cap in MB/s. Set to 0 (default) for unlimited. Useful when OPAL is competing with Zoom calls or a home connection that doesn’t love saturated uploads.
Schedule windows
Settings → Queues → Schedule lets you restrict download activity to a time window — for example, 22:00 to 07:00 so you don’t burn daytime bandwidth. When the window closes, OPAL:
- Allows downloads >90% complete to finish
- Pauses everything else
- Resumes automatically at the next window open
Overnight windows that cross midnight (e.g. 22:00–06:00) are handled correctly.
5 - Settings
Every configurable option in OPAL.
OPAL’s settings are grouped into categories. Defaults are called out in bold — you don’t need to touch most of these.
Appearance
| Setting | Default | Notes |
|---|
| Theme | System | Light / Dark / System |
| Accent color | O3DE Blue | Affects buttons, highlights, progress bars |
| Density | Comfortable | Compact reduces paddings ~25% |
| Sidebar width | 240 px | Resize live by dragging the divider |
Storage locations
| Setting | Default | Notes |
|---|
| Engine install directory | ~/.opal/engines | Each engine gets a subfolder |
| Project workspace | ~/O3DEProjects | Default location for new projects |
| Gem storage directory | ~/.opal/gems | Shared across projects when possible |
| Repository cache | ~/.opal/cache/repos | Indexed gem repo metadata |
Changing a storage path prompts to migrate existing contents — you can opt out and leave the old contents in place.
O3DE defaults
| Setting | Default | Notes |
|---|
| Build configuration | profile | debug / profile / release |
| CMake generator | Platform default | Ninja on Linux/macOS, VS on Windows |
| Default editor launch flags | (none) | Free-form string |
| Auto-register projects on import | On | |
Queues
| Setting | Default | Notes |
|---|
| Max concurrent downloads | 4 | |
| Max concurrent builds | 1 | |
| Global download speed limit | Unlimited | MB/s |
| Schedule enabled | Off | |
| Schedule window | 22:00–07:00 | Overnight-aware |
Notifications
| Setting | Default | Notes |
|---|
| Download complete | On | OS-native notification |
| Build complete | On | |
| Build failed | On | |
| Queue empty | Off | |
| Respect OS do-not-disturb | On | |
Accounts
Manage connected marketplace accounts. (Marketplace is a planned post-1.0 feature.)
Advanced
| Setting | Default | Notes |
|---|
| Telemetry | Off | Off by default. See privacy note below. |
| Auto-update OPAL | On | Prompts before applying |
| Experimental features | Off | Enables beta features gated behind this flag |
| Config export / import | — | JSON file of every setting |
Privacy
OPAL ships with telemetry
off. We don’t collect anything by default. If you opt in, we get crash reports and anonymous feature-use stats — nothing else. See the
Privacy page for the full breakdown.
Import / export
Advanced → Export config writes every setting to a JSON file you can back up or share with a teammate. Advanced → Import config reads it back.