Client Events

ARC will send events to the client, informing it when and what happens. They consist of a $type field identifying the event by name and optionally data fields specific to the event. The $type field will always be first.

API

Type Data Example

PlaybackUpdated

status - one of AudioStarted, AudioEnded, TurnEnded.

{
  "$type": "PlaybackUpdated",
  "status": "AudioStarted"
}

LoadUpdated

type - Type of asset being (down)loaded, either Avatar or Environment.

reference - Ref of the asset being downloaded.

status - One of Started, Progressed, Completed, Failed.

progress - Fractional progress of the download in range 0-1.

{
  "$type": "LoadUpdated",
  "type": "Avatar",
  "reference": "avatar-eli_base-1_0",
  "status": "Progressed",
  "progress": 0.23
}

PerformanceReported

fps - Current frames per second.

resolutionScale - Fractional resolution scale in range 0-1.

reservedMemory - Number of bytes of reserved system memory.

{
  "$type": "PerformanceReported",
  "fps": "38",
  "resolutionScale": "0.5",
  "reservedMemory": "80000000"
}

VersionReported

version - Semantic version of ARC.

{
  "$type": "VersionReported",
  "version": "2025.30.1"
}

QualityReported

tiers - List of available quality tier names.

current - Name of currently used quality tier.

{
  "$type": "QualityReported",
  "tiers": ["High", "Medium", "Low"],
  "current": "High"
}

LogReported

category - The category of origin.

severity - One of Info, Warning, Error.

message - Contents of the log.

{
  "$type": "LogReported",
  "category":"FAnimator",
  "severity":"Error",
  "message":"No lipsync animation data."
}