Configure llvls.json
Declare build inputs, controls and SDK features in your project manifest.
On this page
Start from a real manifest
Create a blank project in the Studio to generate a complete manifest. Open its llvls.json in Files or edit supported fields through Project settings. Keep it at the project root. The file must be valid JSON, without comments or unknown fields.
| Field | Purpose |
|---|---|
manifestVersion, sdk |
Manifest format and SDK major. Use the versions in the current starter. |
title, version, description |
Listing seed and display version, not build identity. |
audience, contentDescriptors |
Content declaration, checked together. |
engine, libraries |
One engine and exact registry versions. No version ranges. |
entry |
Project-relative JavaScript or TypeScript entry module. |
display, input |
Frame fitting and supported controls. |
save.schema |
Save-data compatibility version. |
leaderboards, analyticsEvents |
Features the SDK can reference by id or name. |
store, attributions |
Listing asset declarations and credits. |
Validate a change
- Edit the appropriate field in Studio settings or JSON.
- Read field errors in Project settings or JSON diagnostics in the full Code editor.
- Choose Run and inspect Problems and Build output for invalid settings, incompatible libraries or code errors.
- Exercise the relevant feature in the Studio preview.
- Confirm the rating again if required before publishing.
Schema validation alone is insufficient. Cross-field checks include content tiers, pixel-art aspect ratio and reserved series-save behaviour. A declared engine can still fail if the registry has no usable version.
The manifest seeds store listing fields on the first live release when no store page exists. Later releases do not overwrite the separately moderated store page.
Do not assign a made-up game id or edit llvls.lock.json. The platform manages identity and the build generates its lock.