Release notes for OPAL — what’s new, what changed, and what’s fixed in every release.
v1.0.1
Fixes
- Gem alternate names are now recognised. O3DE resolves a project’s gem entry against a gem’s
gem_nameor itsgem_alt_name, and OPAL now does the same. A project that listsPhysXno longer shows it as a missing gem on engines where that gem isPhysX5(alternate namePhysX), and Configure Gems shows PhysX5 as active. OPAL never rewrites yourproject.jsonto make this work; only toggling a gem yourself changes it. Turning a gem off removes every entry that resolves to it, and turning it back on writes the gem’s real name. - Template gems are no longer picked up as real gems. Placeholder gem manifests inside template folders (names containing
${) are skipped when OPAL scans for local gems.
v1.0.0
The first full public release of OPAL. Everything below is available today.
Platforms
- Windows and Linux — full support, installer and portable archive.
- macOS — coming soon.
Onboarding
- First-run Setup Wizard: Welcome → Usage Statistics → Build Tools → Libraries → Install Locations → Done.
- The wizard auto-detects build tools already on your machine (CMake, a build system, compilers) and gives you the exact install command for anything missing.
- Usage statistics are opt-in and unticked by default.
- Script-Only mode can be turned on from the wizard, or later in Settings.
- The wizard can be rerun any time from Settings → Application → Rerun Setup Wizard.
Engines
- Engine Downloads: official O3DE builds per platform with a Latest badge, installed/downloading indicators, and search across version, source, and platform.
- Show pre-releases surfaces
developmentandstabilization/*branch builds. - Custom Engine Sources — point OPAL at your own build host and its releases sit inline with official ones, with Check for Updates.
- Add Engine registers an already-installed engine; invalid
engine.jsonfiles are caught with an Invalid Engine error. - Set Default engine, per-engine View Log, and an Editor-executable path override for non-standard layouts.
- Prune bulk-removes unused engines only — the default engine and any engine a registered project resolves to are held back automatically, with a count of what was excluded.
- Removing a source engine moves it to the OS recycle bin, not a permanent delete. Installer-based engines are uninstalled and do not go to the recycle bin.
- Source builds compile through the Builds queue (pausable, resumable); prebuilt engines can’t be rebuilt in place.
- Newly added engines run a process to track the installation of their prerequisites, with progress visible in the Downloads dock or window. See Manage engines.
Projects
- The Projects page is OPAL’s landing view. New Project and Import (an existing
project.json, added without modification) sit side by side. - Build is a split button: full Build, Configure-only, or Clean Build — all queued, pausable, resumable, reorderable, and cancellable.
- Run Asset Processor per project, streamed straight to Logs.
- Launch is also a split button — every discovered Editor, Tool, and Runtime is independently launchable and stoppable, with an Unavailable badge for anything not yet built.
- Build status badges: Not Built / Needs Build / Configuring / Configured / Building / Built / Build Failed; run states Launching → Processing Assets → Running, with Stop.
- Missing-engine recovery offers the fix that matches the actual problem: Add Engine, Register Engine, or Pin Engine.
- Project Settings add an engine pin, a build type override, a build tool override (with a generator-mismatch warning), build targets, and Editor-only launch arguments.
- Missing gem detection (work in progress): OPAL checks a project’s explicit and transitive gem references against every known gem, and flags any that can’t be resolved for the project’s engine, since configure fails until they’re provided.
- Project cards show a missing gems banner with a shortcut into the gem configuration page, pre-filtered to that project’s gems.
- Configure Gems shows unresolved references as placeholder rows with a Not Found badge, with actions to register the gem’s folder or remove it from the project.
- New This project’s gems scope (
filter:project) in gem search. - Gems pulled in only as dependencies get a Required dependency indicator.
Export
- Export Project from a project’s action menu: build configuration, launcher targets (Game, Server, Headless Server, Unified), levels to include, asset-build toggles, an archive format, and an output path with an automatic disk-space check.
- Settings save straight into the project’s own
.command_settingsfile through O3DE’s standardexport-project-configure— there’s no private OPAL export format, and the result is usable from the CLI without OPAL. - Runs through the shared Builds queue with pause (one checkpoint, before the launcher compile), resume, cancel, and staged progress: Building tools → Building assets → Bundling assets → Compiling launcher → Archiving.
- Not available in Script-Only mode.
Assets & Gems
- Asset Library: a gem list plus a five-tab Gem Inspector (Overview, Images, Imported Assets, Releases, Instances), with combinable filters like
author:,tag:,gemType:,compatibleEngines:,downloaded:, andhasUpdate:. - Release notes are fetched automatically for GitHub-, GitLab-, and Bitbucket-hosted gems.
- Project Gems keeps each project’s active/inactive gem list in sync across
project.jsonand CMake; required transitive dependencies are flagged and can’t be disabled directly. - Repositories — add a repo, a local gem, or a watch folder, or scaffold a brand-new one with Create Gem. A repository that goes offline keeps serving its last known list from cache.
- Source downloads use
git cloneor an archive, with a credential prompt for authenticated sources.
Queues
- Two independent queues — Downloads and Builds — both pausable, resumable, reorderable, and cancellable, and both persist across app restarts.
- Downloads support concurrency and per-download connection limits, an optional speed cap, and scheduled download windows.
- Builds share one pool across engine source builds, project builds, and exports, with a single pause checkpoint between configure and compile.
- Status bar widgets for both queues open a live drawer without leaving the page you’re on.
Logs
- One Logs page across every registered project and engine: build and CMake output,
Editor.log,Game.log,AssetProcessor.log,AssetBuilder.log, and project export logs. - Build, export, and launch actions stream live into the same viewer while they run.
Settings
- Application — theme (Light/Dark/Auto), language, window behaviour, download defaults, per-severity notifications, and opt-in usage statistics.
- Build Tools — on-demand re-detection of CMake, Ninja, Xcode, and Visual Studio, global CMake flags, and build thread count.
- O3DE — reads and writes your real
o3de_manifest.json: default project/gem/template/third-party folders, and the engine download path. - Asset Library — a configurable cache refresh interval, with a warning below one hour.
- Script-Only Mode — one toggle that hides every source-build-only control (source engines, source builds, export) and is fully reversible.
Stay up to date
Future releases will get their own entry above this one — what was added, what changed, and what was fixed.
- Discord — https://discord.gg/vhUPep5ckf for previews and announcements
- Bluesky — @genomestudios.bsky.social
- LinkedIn — Genome Studios
- Facebook — Genome Studios