-
-
Notifications
You must be signed in to change notification settings - Fork 23.5k
Description
Tested versions
Reproducible in:
(used PR version of engine available here: https://github.com/godotengine/godot/actions/runs/17751041443)
Editor: 4.6.dev.gh-103553.5a30da07b (Windows, x86_64)
Windows template used for export: 4.6.dev.gh-103553.5a30da07b (godot.windows.template_release.x86_64.exe)
Exported EXE --version: 4.6.dev.gh-103553.5a30da07b
A Godot Discord user with the "Godot Senior" role remarked that "The version check in Godot’s export system has always been a bit picky, it doesn’t really handle “dev” or “PR” suffixes gracefully."
System information
Godot v4.6.dev (5a30da0) - Windows 11 (build 26100) - Multi-window, 1 monitor - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 2060 (NVIDIA; 32.0.15.8157) - Intel(R) Core(TM) i5-9600K CPU @ 3.70GHz (6 threads) - 31.93 GiB memory
Issue description
When exporting from a dev/PR build of the editor, the PCK header stores only numeric version fields (major.minor.patch). This tags the pack as 4.x.0 even though the editor/runtime identify as 4.x.dev. On launch, the loader compares numeric tuples only and treats 4.x.0 (stable) as newer than 4.x.dev (pre-release), rejecting the pack with the message: ERROR: Pack created with a newer version of the engine: 4.x.0.
This occurs even when:
- Editor, template EXE, and exported EXE all report the same dev version via
--version. - Running the EXE in an empty folder (no sidecar .pck present).
- Running a template with
--main-packagainst the freshly exported .pck.
Expected:
A 4.x.dev runtime should be allowed to load a pack produced by the same line (same major/minor/patch) from a dev/PR editor, or there should be an explicit opt-in to allow it.
Actual: The pack is rejected as “newer” because the comparison ignores pre-release status and uses numeric (major, minor, patch) only.
Steps to reproduce
- Use a 4.x.dev editor build (e.g.,
4.6.dev.gh-103553.5a30da07b) and matching 4.x.dev Windows export template. (The editor and template I used is available here : https://github.com/godotengine/godot/actions/runs/17751041443) - Create a minimal project (or use the template I provide later).
- Export Windows Release with:
- Architecture: x86_64
- Embed PCK: On
- Export Console Wrapper: No
- Code signing: Off
- Resources: Export all resources
- Copy the exported EXE to a brand-new empty folder and run it via the terminal.
- Observe:
ERROR: Pack created with a newer version of the engine: 4.x.0. - (optional) Export with "Embed PCK: Off" to get a PCK file alongside your EXE, then run:
godot.windows.template_release.x86_64.exe --main-pack "(path to pack name).pck"
(results in the same error)
Sample commands:
godot.windows.editor.x86_64.exe --version
4.6.dev.gh-103553.5a30da07b
godot.windows.template_release.x86_64.exe --version
4.6.dev.gh-103553.5a30da07b
".\exported_game.exe" --version
4.6.dev.gh-103553.5a30da07b
# Running the exported EXE (with no flags) prints:
ERROR: Pack created with a newer version of the engine: 4.6.0.
Minimal reproduction project (MRP)
Metadata
Metadata
Assignees
Type
Projects
Status