Player API

Assembly: Spark.Player

The Player plugin does not expose a public interface. It provides save data persistence for the player entity and a component for persistent player identification.

Save Data

PlayerSaveData

Stores player state between sessions. Extends SaveDataEntry.

Field
Type
Description

playerEntityId

string

Persistent player identifier

playerPosition

Vector3Serializable

Last saved world position

playerRotation

QuaternionSerializable

Last saved rotation

sessionStartTime

long

Unix timestamp when the current session began

sessionCount

int

Total number of play sessions

totalPlaytimeSeconds

long

Accumulated playtime across all sessions

Methods:

void SetPlayerEntityId(string id)
string GetPlayerEntityId()

void SetPlayerPosition(Vector3 position)
Vector3 GetPlayerPosition()

void SetPlayerRotation(Quaternion rotation)
Quaternion GetPlayerRotation()

void UpdatePlayerTransform()   // Syncs position/rotation from SparkEntity before save
void UpdateTotalPlaytime()     // Calculates and updates session duration

Components

PersistentPlayerEntityId

MonoBehaviour that assigns a persistent ID to the player entity. Requires SparkEntity.

On initialization, it checks for an existing ID in PlayerSaveData. If none exists, it generates one in the format player.{12-char-guid}.{unix-timestamp} and stores it.

This component supports both Local and Networked entity ID sources.

Usage

Last updated

Was this helpful?