# Features and Roadmap

## Current features

#### General

* Custom UDP transport layer using bit streams with reliability
* WebRTC support for WebGL builds
* Smooth state replication
* Server-side, Client-side, distributed authority
* Connected entity support
* Fast authority transfer
* Remote messaging (RPC)
* Persistence
* Verified support for Windows, macOS, Linux, Android, iOS and WebGL
* Support for Rooms and Worlds
* Floating Origin for extremely large virtual Worlds
* TCP Fallback
* Support for Client hosting through Steam Datagram Relay

#### SDK

* Unity SDK with an intuitive no-code layer
* Per-field adjustable interpolation and extrapolation
* Input queues
* Easy deployment into the cloud
* Multi-room Simulators
* Multiple code generation strategies (Assets/Baking, automated with C# Source Generators)
* Extendable object spawning strategies (Resources, Direct References, Addressables) or implement your own

#### Optimization and performance

* Per-field compression and quantization
* Per-field sampling frequency adjustable at runtime
* Unlimited per-field levels of detail
* Areas of interest
* Accurate *SimulationFrame* tracking
* Network profiler

#### Online

* Brand new developer portal for management and usage statistics
* Automatic server deployment and scaling
* Multiple regions in the US, Europe and Asia
* Player accounts with a persistent key/value store
* Matchmaking and lobby rooms

## Coming soon

#### General

* Float64 support
* Permissions and roles system for clients and simulators

#### SDK

* Input queue UX improvements
* More logging and diagnostics tools
* Built-in network condition simulation

#### Online

* Additional server regions
* Support for multiple Simulators and Replicators in a single project

## Mid-term roadmap

* Support for lean pure C# clients and simulators without Unity
* Peer-to-peer (without replication server) with NAT punch-through
* MTU detection
* Packet replay
* Ability to deploy multiple Simulation Servers per environment
* Player analytics
* Developer portal graphs and analytics
* Simulator authentication
* Bare-metal and cloud support
* Misprediction detection support
* SDK library that can be used in C++ and other languages
* More starter/sample projects and helper scripts
* Ability to embed WebGL games in web portals
* Global KV-Store
* Complex data types/entities in the KV store
* More GGPO support for specific game genres
* Misprediction detection support

## Roadmap

* Unreal Engine SDK
* JavaScript SDK
* Advanced matchmaking
* Multiple Replication Servers per game world
* Customer-specific serialization
* User-space load-balancing (SDK framework)
* Game world map with admin interface
* Advanced anti-cheat functionality
* Advanced transaction logs (audit trail)
* Schema versioning (hot updates)
* Console-specific updates
* Player analytics
