Skip to content

fix: autoexec.cfg loads the actual default level, not a missing "start" placeholder#20

Open
nickschuetz wants to merge 1 commit into
o3de:mainfrom
nickschuetz:fix-autoexec-broken-default-level
Open

fix: autoexec.cfg loads the actual default level, not a missing "start" placeholder#20
nickschuetz wants to merge 1 commit into
o3de:mainfrom
nickschuetz:fix-autoexec-broken-default-level

Conversation

@nickschuetz
Copy link
Copy Markdown
Contributor

Problem

autoexec.cfg shipped with loadlevel start, but no level named "start" exists in the project. On launch, the level system logs Requested level not found: 'start' and the launcher parks in a non-rendering state -- a new user sees a black window with no indication of what went wrong.

The placeholder start was inherited from the engine's ScriptOnlyProject template; this project never customized it.

Fix

Change the autoexec to load Neighborhood, which matches the default already set in Registry/game.setreg.

An alternative would be to delete the loadlevel line entirely and let Registry/game.setreg drive the default; I went with the minimum-edit form so the autoexec.cfg stays a working starting point that downstream forks / template-derived projects can copy from. Happy to switch to the delete form if maintainers prefer.

Verification

Built and ran on Fedora 44 / NVIDIA RTX 2080 Ti / Vulkan RHI.

Verified visually:

  • Title screen renders cleanly
  • Score / lives / home-time HUD active
  • Character input + movement works

From Game.log:

  • Game Level Load Time: [...] Level Levels/Neighborhood/Neighborhood.spawnable loaded present
  • No Requested level not found warnings

Note for maintainers

The same loadlevel start placeholder ships in O3DE's ScriptOnlyProject template at Templates/ScriptOnlyProject/Template/autoexec.cfg. Worth a separate engine-side fix to comment it out or change it to ; loadlevel YourLevelName so future template-generated projects don't inherit the same broken default. Happy to file a separate engine-side PR if useful.

The previous loadlevel command pointed at "start" -- a placeholder
inherited from the engine's ScriptOnlyProject template. The project
ships three real levels (Neighborhood, NeighborhoodAlex,
CharacterSample) and Registry/game.setreg already declares
Neighborhood as the default; this aligns autoexec.cfg with it.

Before: GameLauncher boots, autoexec runs "loadlevel start", the
level system reports "Requested level not found: 'start'", and the
launcher parks in a non-rendering state with no obvious cause
(black window). New users running the launcher with no extra
flags hit this on first run.

After: GameLauncher loads Neighborhood automatically. Verified on
Fedora 44 / NVIDIA RTX 2080 Ti / Vulkan RHI: title screen renders,
score / lives / home-time HUD active, character control works.

Signed-off-by: Nick Schuetz <nschuetz@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant