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
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
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
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
get_player
null for an authority process and before a join.
Returns: SummerPlayer
get_session
null.
Returns: SummerSession
get_state
SummerRuntime.RuntimeState
get_world
null.
Returns: SummerWorld
initialize
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
shutdown
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
session may be null.
state_changed
RuntimeState values.
world_changed
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 aSummerOperation 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.

