10.1 Purpose
- Define how a level is prepared for distribution and submission to the in‑game Repository.
- Make sure the level is self-contained and does not depend on files outside the package.
10.2 Package contents
- Include: /levels/YourMap and required /art folders referenced by the level.
- Exclude: /source and any working files, caches, or editor autosaves.
Typical package layout:
your_map.zip
└── levels/
└── your_map/
├── info.json
├── preview.png
├── main/
├── art/
├── forest/
├── main.materials.json
└── other level files
Do not include:
/source authoring files
- Blender/Photoshop/Substance project files
- temporary exports
- texture cache files
- editor backup/autosave files
- files from another mod unless you have permission and include them intentionally
10.3 Metadata and presentation
- info.json: author, version, description, tags.
- preview.png: representative screenshot at recommended resolution.
The metadata should describe what the level is and what players can expect.
Check:
- Level title is readable and not only an internal folder name.
- Author and version are correct.
- Description is concise.
- Preview image represents normal gameplay.
- Spawn points listed in
info.json exist in the level.
10.4 Structure and paths
- Ensure all material and mesh references use relative paths within the package.
- Keep naming consistent and lowercase_with_underscores.
Before packaging, search for local absolute paths such as:
These paths work only on the creator’s machine and will fail for other players.
Also check for references to files in:
unless they are intentionally shipped game paths.
10.5 Verification
- Test the .zip on a clean install/profile with no other mods enabled.
- Confirm load success, materials present, and expected performance.
Recommended verification pass:
- Create the
.zip.
- Move the unpacked working folder out of the user levels/mods path.
- Install only the packaged
.zip.
- Clear cache if you changed material or folder structure.
- Start the game fresh and load the level.
- Check the log for missing files and invalid JSON.
- Drive the main route and visit dense areas.
If the packaged version works only while the working folder is present, the package is missing files.
10.6 Versioning and updates
- Increment versions clearly (e.g., 1.0.0 → 1.1.0 for content changes).
- Provide a changelog and keep backward‑compatibility notes where relevant.
Use version increments consistently:
| Change type |
Example version change |
| Small fix |
1.0.0 → 1.0.1 |
| New area/content |
1.0.0 → 1.1.0 |
| Major rebuild or compatibility break |
1.0.0 → 2.0.0 |
For updates, avoid renaming stable spawn points, waypoints, or gameplay references unless necessary.
10.7 Publishing criteria
- Self‑contained package; no external dependencies.
- No missing assets or path errors on first load.
- Clear metadata and preview image.
- Default spawn works.
- No obvious warning materials.
- Main roads and collision are usable.
- Performance is acceptable in dense areas.
10.8 Common packaging issues
- Missing textures because
main.materials.json references a file outside the level.
- Missing meshes because the
.dae or .cdae was not included.
- Spawn selection broken because
info.json references a missing SpawnSphere.
- Level works unpacked but not zipped because a dependency was outside the package.
- Wrong folder nesting, for example
your_map.zip/your_map/levels/your_map/... instead of your_map.zip/levels/your_map/....
See also: Level metadata (info.json)
, Material JSON files
, Testing and validation
.