Use This When You Need A Reliable End-To-End Path
This page is the shortest safe route from “new game” to “submitted for review.”Current Publishing Checklist (Most Important)
- Build your creator gameplay scripts in
GDScriptfor the current Summercraft publishing flow. - Submit one exportable
.pckpackage plusmanifest.json. - Keep total
.pckpackage size at or under 2 GB. - If your build is larger than 2 GB, email founders@summerengine.com for large-upload onboarding.
Step 1: Validate Project Contract
main.gdextendsSummerGame.manifest.jsonincludes required keys.player_scenepoints to a valid scene.- gameplay scripts are authored in
GDScript. - choose player model:
SummerCharacter3D(3D template), or- custom script extending
SummerPlayer.
Step 2: Validate Authority Boundaries
- gameplay outcomes run under
if not Summer.is_server(): return. - clients render synced state (
get_synced) only. - no score/economy/data writes on client paths.
Step 3: Validate Scanner Safety
- no blocked APIs in scripts/resources.
- no reserved infrastructure paths in export scope.
- no blocked binary/native resource extensions in pack.
Step 4: Local Runtime Validation
Run through test-runner flow and confirm:- server starts + client connects,
- player join/leave stable,
- gameplay loop runs for 10+ minutes,
- reconnect path works.
Step 5: Export Validation
- use game-only
.pckpreset. - update include filter to game folder.
- confirm exported
.pckincludes only intended content. - confirm package size <= 2 GB.
- if package size exceeds 2 GB, contact founders@summerengine.com for large-upload onboarding.
Step 6: Submission Validation
Upload:.pckmanifest.json
- status
review, - submission id returned,
- no static analysis violations.
Top 10 Failure Modes (And Fixes)
entry_sceneinvalid- Fix
manifest.jsonpath and re-export.
- Fix
player_sceneinvalid- Fix scene path, confirm script setup, re-export.
- Client-authoritative logic
- Move outcome logic to server path.
- Missing synced fields
- Use
set_syncedfor client-visible state.
- Use
- Scanner blocked pattern
- Remove blocked API usage.
- Reserved path in pack
- Correct include/exclude export filters.
- File too large
- Optimize assets and remove unused files.
- Manifest type mismatch
- Enforce required key types.
- Template mismatch
- 3D helper methods used without
SummerCharacter3D.
- 3D helper methods used without
- Reconnect instability
- Reinitialize player synced state on join.
Launch Ready Criteria
- Contract checks pass
- Authority checks pass
- Scanner checks pass
- Local runtime checks pass
- Export checks pass
- Submission accepted into review

