Skip to content

Architecture Overview

XRXP has a split architecture designed for both reliability and live operations.

Main components

  • Unity SDK on the device
  • WebSocket ingestion for live telemetry and exchange
  • Redis for queues, cache, and live pub/sub
  • PostgreSQL for durable history
  • REST API for stored data and admin actions
  • Dashboard for operators

High-level flow

graph LR
    U[Unity SDK] --> LS[Local storage]
    U --> WS[WebSocket ingestion]
    WS --> R[Redis]
    R --> DB[PostgreSQL]
    DASH[Dashboard] --> API[REST API]
    API --> DB
    DASH <-->|subscriptions| WS

Why the architecture is split this way

  • local storage protects against connectivity issues
  • Redis absorbs bursts before database writes
  • PostgreSQL stores the durable history
  • WebSocket keeps live operations responsive
  • REST API serves stable historical queries

Control surfaces

XRXP has two main remote-control patterns:

  • instructions for tracked operational tasks such as scene dispatch
  • exchange for live status/control modalities defined by the Unity app