Skip to main content
Class: SummerRuntime · Inherits: Object Engine-owned Summer context and service singleton registered as Summer. Publishes immutable Game, Build, Player, World, and Session projections and owns multiplayer. initialize() and shutdown() are main-thread, concurrent-idempotent operations; internal state and atomic context changes happen before operation completion. Tickets, credentials, raw launch state, peers, admission verdicts, hosted ports, and runtime-role selection are not exposed. Ordinary gameplay should use runtime-routed behavior callbacks rather than server/client role queries.

Properties

Methods

get_build

Returns the immutable current Build identity after successful initialization, or null. Signed launch v1 supplies the Build ID and artifact digest; compatibility fields remain empty until a verified manifest/handshake supplies them. Returns: SummerBuildIdentity

get_export_info

Returns the Summer export stamp of the running export: engineSha, schema ("summer.export.v1") and summerVersion. Returns an empty Dictionary in the editor and when the project is not running from an exported pack. Returns: Dictionary

get_game

Returns the immutable current Game identity after successful initialization, or null. Use this getter rather than a setterless singleton property: GDScript may constant-fold read-only Engine-singleton properties before initialization. Returns: SummerGameIdentity

get_managed_binding_identity

Returns the immutable ABI identity shared by the native Summer bindings and bundled managed adapter. This is a compatibility diagnostic; it does not grant a capability or reveal launch credentials. Returns: String

get_player

Returns the current local Player projection, or null for an authority process and before a join. Returns: SummerPlayer

get_session

Returns the current immutable Session projection, or null. Returns: SummerSession

get_state

Returns the current lifecycle state. Returns: SummerRuntime.RuntimeState

get_world

Returns the current immutable World projection, or null. Returns: SummerWorld

initialize

Starts initialization using the trusted Game identity supplied by the Summer Host or hosted authority launch. Omit game_id for a portable build. When supplied, it asserts the expected identity and never grants authorization or overrides the launch context. With no online launch or Host, an omitted ID creates a project-scoped synthetic local identity; a supplied ID preserves that explicit local namespace. Read the resolved identity with get_game(). A mismatch returns &"game_identity_mismatch" without publishing partial context. An incomplete/refused trusted context returns &"trusted_launch_unavailable" and never falls back to local play. Successful hosted authority initialization atomically publishes immutable Game, Build, and World projections without inventing a Player or Session. Concurrent callers that omit the ID or assert the same resolved ID share one pending operation. Ready replay preserves the current context. A conflicting in-flight or ready ID returns &"identity_conflict". Successful completion publishes STATE_READY. Cancellation restores the stable lifecycle state that preceded this initialization attempt. Returns: SummerOperation Returns at once. Wait for the result with var result: SummerResult = await op.get_result_or_completed_signal(); see SummerOperation.

is_local

Returns whether the runtime is locally ready. Returns: bool

shutdown

Starts shutdown or returns the same pending shutdown operation. Success publishes STATE_UNINITIALIZED; cancellation restores the pre-shutdown stable state. Returns: SummerOperation Returns at once. Wait for the result with var result: SummerResult = await op.get_result_or_completed_signal(); see SummerOperation.

Signals

session_changed

Emitted after Player, World, and Session have been atomically replaced. session may be null.

state_changed

Emitted after the state changes, with the new and previous RuntimeState values.

world_changed

Emitted after Player, World, and Session have been atomically replaced. world may be null.

Enums and constants

RuntimeState


What is live on the platform today: platform capability status. Check availability at runtime before you offer a feature.

The whole API

Generated from the engine’s class reference: modules/1summer_engine/doc_classes/*.xml, modules/summer_sdk_core/doc_classes/*.xml, modules/summer_multiplayer/doc_classes/SummerMultiplayerService.xml in SummerEngine at commit 2c223081cd. The generator checks the XML against the engine’s C++ bindings and fails on any difference. If something here is wrong, the engine’s class reference is wrong.

How calls work

Every call that talks to Summer returns a SummerOperation at once and finishes later on the main thread. Await its result:
Summer.client exists only in the player’s game and Summer.authority only on your game’s server. The other one is null. Check readiness before you offer a feature: many services have is_available() or a check_*_readiness() method.

Summer.client: in the player’s game

Summer.authority: on your game’s server

Summer.multiplayer

Summer.multiplayer: Operation-based Summer World and Session service.

Types

Results, operations and values the services return.