> ## Documentation Index
> Fetch the complete documentation index at: https://summer-18f03259-codex-native-multiplayer-entry.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Summer SDK

> The lifecycle hub for adding Summer SDK capabilities to a Summer game, testing locally, submitting for review, and updating.

<Note>
  This page covers the public Summercraft SDK submission contract. For a supplied native
  multiplayer development build, first read [Native multiplayer development](/knowledge-base/source-status#native-multiplayer-development)
  and the API reference shipped with that build. Public production playback remains not
  live; this does not establish whether your separately configured staging environment
  supports an online test. Do not mix the two integration paths.
</Note>

## Add platform capabilities to your Summer game

The **Summer SDK** is the creator-facing platform contract for a **Summer game**. Your
GDScript owns the gameplay, worlds, rules, and presentation. The SDK documents multiplayer,
player, persistence, economy, and submission interfaces. An interface being documented does
not mean its hosted runtime is production-live.

Use only the capabilities your game needs. Templates are examples, not requirements.

## Lifecycle

<CardGroup cols={2}>
  <Card title="1. Build the game contract" icon="code" href="/api-reference/summer-sdk/build-your-first-summer-game">
    Start from the minimal SummerGame lifecycle and manifest.
  </Card>

  <Card title="2. Add SDK capabilities" icon="boxes" href="/api-reference/summer-sdk/subsystems-signals">
    Select player, teams, score, persistence, economy, UI, and audio surfaces.
  </Card>

  <Card title="3. Test locally" icon="flask-conical" href="/api-reference/summer-sdk/testing-your-game-locally">
    Use Summer Engine first and validate before spending a publish request.
  </Card>

  <Card title="4. Export" icon="package" href="/api-reference/summer-sdk/exporting-and-uploading-your-game">
    Produce a game-only pack and verify its digest and contents.
  </Card>

  <Card title="5. Submit for review" icon="upload" href="/api-reference/summer-sdk/submission-guide">
    Choose the API or browser path and follow the human review state.
  </Card>

  <Card title="6. Update" icon="refresh-cw" href="/api-reference/summer-sdk/updating-your-game">
    Keep the game identity stable, bump the version, retest, and resubmit.
  </Card>
</CardGroup>

## What is available now

* Create a Summer game record.
* Upload a game-only `.pck` directly to storage with server-side checksum verification.
* Enter the manual human review queue.
* Download releases through the authenticated release endpoint.

## What remains a contract or planned capability

* Summer SDK lifecycle, player, sync, persistence, economy, teams, score, UI, and audio
  interfaces are a creator contract under implementation.
* Player-facing browser and desktop-shell playback is not live.
* Hosted dedicated game servers and automatic matchmaking are not live.
* The automated production runtime sandbox is not live.
* `SummerMultiplayerPeer` is a published compatibility contract still being built.

See [Product source & platform status](/knowledge-base/source-status#platform-capability-status)
for the single canonical status table. Do not infer deployment status from an SDK reference
page or example.

## What You Build

Your game remains responsible for its creative and gameplay layer:

* **Core Gameplay:** Your unique mechanics, controls, and game loops.
* **Worlds & Scenes:** Environments, levels, and visual rendering.
* **Rules & Logic:** Win/loss conditions and genre-specific systems (whether that's 3D, 2D, RTS, card, or puzzle games).
* **Presentation:** UI, audio, and overall game feel.

## Platform Contract

The minimum integration contract:

1. `extends SummerGame`
2. implement lifecycle hooks (`_game_init`, `_game_start`, `_game_end`, `_player_joined`, `_player_left`)
3. use player synced state (`set_synced` / `get_synced`)
4. keep authority on server paths (`Summer.is_server()`)
5. provide valid `manifest.json` and export/upload flow.

## Templates Are Optional

Templates are examples, not requirements.

* `SummerCharacter3D` is the optional 3D character template path.
* For 2D/RTS/card/turn-based games, extend `SummerPlayer` directly and sync your own game model.

## Capability and reference pages

<CardGroup cols={2}>
  <Card title="Agent Setup" icon="bot" href="/agent-setup">
    Point any AI coding agent at one prompt: build, export, and submit through the live API
  </Card>

  <Card title="Summer SDK Naming" icon="arrow-right-left" href="/api-reference/summer-sdk/naming">
    Migrating from Crafty: every renamed class, autoload, manifest key, and path
  </Card>

  <Card title="Summer Singleton" icon="box" href="/api-reference/summer-sdk/summer">
    Match control, player queries, spawning, server/client checks, subsystem access
  </Card>

  <Card title="SummerGame" icon="workflow" href="/api-reference/summer-sdk/summer-game">
    Required base class, lifecycle hooks, and practical game structure
  </Card>

  <Card title="SummerPlayer" icon="user" href="/api-reference/summer-sdk/summer-player">
    Minimal player contract: identity, synced vars, input, and optional 3D template path
  </Card>

  <Card title="Subsystems & Signals" icon="radio" href="/api-reference/summer-sdk/subsystems-signals">
    Optional platform modules: teams, score, data, economy, UI, audio, and signals
  </Card>

  <Card title="Build Your First Summer Game" icon="rocket" href="/api-reference/summer-sdk/build-your-first-summer-game">
    Golden-path tutorial from blank project to .pck submission
  </Card>

  <Card title="Multiplayer FFA Guide" icon="swords" href="/api-reference/summer-sdk/guides/multiplayer-ffa-coin-collector">
    Full Coin Collector-style example with timer, collectibles, and scoring
  </Card>

  <Card title="Multiplayer Persistence Guide" icon="database" href="/api-reference/summer-sdk/guides/multiplayer-persistence-rpg">
    RPG/quest example with player saves, progression, and economy
  </Card>

  <Card title="Team-Based Game Guide" icon="users" href="/api-reference/summer-sdk/guides/team-based-game">
    Teams, auto-balance, team spawns, and team scoring
  </Card>

  <Card title="2D Multiplayer Guide" icon="square" href="/api-reference/summer-sdk/guides/making-a-2d-game-multiplayer">
    Extend SummerPlayer for 2D state sync and server-authoritative logic
  </Card>

  <Card title="Turn-Based/Card Guide" icon="layout-grid" href="/api-reference/summer-sdk/guides/making-a-turn-based-or-card-game-multiplayer">
    Sync turn order, hand/board state, and validate all actions on server
  </Card>

  <Card title="manifest.json Reference" icon="file-json" href="/api-reference/summer-sdk/manifest-json-reference">
    Every field, required keys, and validated examples
  </Card>

  <Card title="Production Launch Runbook" icon="check-check" href="/api-reference/summer-sdk/production-launch-runbook">
    One linear path for fresh AI/dev sessions: integrate, test, export, submit
  </Card>

  <Card title="Submission Guide" icon="upload" href="/api-reference/summer-sdk/submission-guide">
    Export .pck, scanner rules, upload flow, review lifecycle, and updates
  </Card>

  <Card title="Testing Your Game Locally" icon="flask-conical" href="/api-reference/summer-sdk/testing-your-game-locally">
    Summer Engine smoke checks, optional loopback testing, and the limits of local validation
  </Card>

  <Card title="Exporting and Uploading Your Game" icon="upload-cloud" href="/api-reference/summer-sdk/exporting-and-uploading-your-game">
    Game-only PCK export preset, upload pipeline, and update workflow
  </Card>

  <Card title="Banned APIs Reference" icon="shield-alert" href="/api-reference/summer-sdk/banned-apis-reference">
    Complete blocked pattern list, rationale, and safe alternatives
  </Card>

  <Card title="AI Agent Playbook" icon="bot" href="/api-reference/summer-sdk/ai-agent-playbook">
    Required file contract, banned API rules, and acceptance checklist for AI-generated games
  </Card>
</CardGroup>

## Versioning

Games declare a `summer_sdk` version in `manifest.json`. SDK changes are intended to be additive and backward-compatible.

<CardGroup cols={2}>
  <Card title="Previous: Build your first Summer game" icon="arrow-left" href="/api-reference/summer-sdk/build-your-first-summer-game">
    Return to the minimal GDScript and manifest contract.
  </Card>

  <Card title="Next: Test locally" icon="arrow-right" href="/api-reference/summer-sdk/testing-your-game-locally">
    Validate the Summer game with Summer Engine before export.
  </Card>
</CardGroup>
