The aim of the GDK is to seamlessly support all native Unreal Engine features, making it easy to create and port any Unreal game code to run on SpatialOS, both in single server and multiserver configurations.
The following tables show the state of support of Unreal Engine features on the GDK, along with any caveats or workaround you should be aware of.
The timelines below aim to provide our latest best estimates on our feature delivery to help you plan your project. They should not be taken as commitments and are subject to change based upon feedback, changing requirements, and technical constraints.
|Fully supported, available now|
|Supported with caveats or workarounds|
Support of Unreal features with the GDK in a single server-worker configuration:
|Feature Area||Feature||Support Level||Notes & Caveats|
|Character / Pawn|
|Property Replication||Data Property Replication (C++ classes)||Using fixed arrays instead of TArrays is significantly faster.|
|Data Property Replication (Blueprint classes)|
|Dynamic Object Reference Replication (C++ classes)|
|Dynamic Object Reference Replication (Blueprint classes)|
|Stably Named Object Reference Replication|
|Conditional Replication||Replication condition active overrides (DOREPLIFETIME_ACTIVE_OVERRIDE as defined in Unreal documentation) do not work. COND_InitialOnly is not currently supported.|
|Fast TArray Serialization||Supported, but slower than native UE.|
|Actor Replication||RPCs - Ordering|
|RPCs - Reliability||RPCs can be unreliable under heavy load. This is planned to be resolved in the future.|
|Static Subobject Replication|
|Dynamic Component Replication|
|Replicated Blueprint Timelines|
|Multiplayer Gameplay Features||Split Screen|
|Online Subsystem Abstraction|
|Listen Server||The GDK currently only supports Dedicated Server mode.|
|Net Update Frequency|
|Network latency simulation commands|
|Network Profiler||Metrics related to Outgoing Bandwidth and Socket Send are not populated. Ack and Bunch metrics stem from the native Unreal Engine networking implementation and are not applicable to SpatialOS networking. Metrics related to Property Size are populated with an approximation.|
|World Building||World Composition / Streaming (Level Streaming)|
|World Origin Shifting||World origin shifting is not supported in multiplayer by Unreal. We will likely provide an alternate solution.|
|Environment Query System|
|Build Configurations||Unity Builds|
|Skeletal Mesh Animation System|
|Unreal Engine Versions||Unreal Engine 4.25|
|Unreal Engine 4.24|
|Xbox One||SpatialOS has Xbox One support (announcement), but GDK workflows are not yet optimised for development on it.|
|PS4||SpatialOS has PS4 support (announcement), but GDK workflows are not yet optimised for development on it.|
|iOS||iOS is in preview.|
|Android||Android is in preview.|
The table for multiserver support is coming soon.
2021-02-08 Updated with editorial review: changed support level for Conditional Replication and Server Travel
2020-08-18 Updated with editorial review: changed support level and note for Network Profiler
2020-07-28 Added Unreal Engine 4.25 support and removed 4.23
2020-06-17 Updated with editorial review: changed support level for Gameplay Debugger, Replication Graph, iOS, and Android
2019-11-26 Updated with editorial review: Server Travel supported
2019-11-08 Added Unreal Engine 4.23 support
2019-10-30 Add replicated blueprint timelines.
2019-08-20 Updated with editorial review: Rescheduled Gameplay Debugger support.
2019-07-31 Added support for Dynamic Components, RPCs ordering, and Ability System (0.6.0 release).
2019-07-04 Online Subsystem abstraction support pushed out.
Updated 7 months ago