This repository has been archived by the owner on Aug 29, 2024. It is now read-only.
GDK for Unreal Alpha Release 0.3.0
Unreal GDK version 0.3.0 is go!
The corresponding Engine version is: 4.20-SpatialOSUnrealGDK-0.3.0
Make sure to upgrade your GDK and Engine fork to the latest release. Either use the 0.3.0
tagged commits or switch your projects to the release
branches and git pull
.
Make sure to run Setup.bat
and regenerate your project files after upgrading!
Happy developing!
GDK team
Release Notes 0.3.0
New Known Issues:
- Enabling Query Based Interest is needed for level streaming support, but this might affect performance in certain scenarios and is currently being investigated.
- Replicated
TimelineComponents
are not supported.
For current known issues, please visit this docs page
Features:
- The default connection protocol is now TCP.
- Query Based Interest is now supported as an opt-in feature.
- Level streaming is now supported. You must enable Query Based Interest checkbox in the Runtime Settings to use level streaming.
- The GDK Toolbar now recognises when a local deployment is running, and contextually displays start and stop buttons. - (@DW-Sebastien)
- Added interface support for Unreal Engine 4.21
UNetConnection
. - (@GeorgeR) - Unreliable RPCs are now implemented using events instead of commands. This resolves associated performance issues.
- The
delete dynamic entities
setting now works when used in conjunction with multiple processes. - You can now determine the type of a SpatialOS worker from within the game instance.
- Entity IDs are now reserved in batches instead of individually. This accelerates the creation of SpatialOS entities.
- You can now serialize and deserialize component data defined in external schema (schema that is not-generated by the Unreal GDK). You can use this to send and receive data, and edit snapshots.
- Improved logging during RPCs.
Bug fixes:
- The GDK now automatically compiles all dirty blueprints before generating schema.
- Attempting to load a class which is not present in the schema database now causes the game to quit instead of crashing the entire editor.
Actor::ReplicateSubobjects
is now called in the replication flow. This means that Subobjects are now replicated correctly.- Schema generation is no longer fatally halted when blueprints fail to compile.
AActor::TornOff
is now called when aTearOff
event is received. This is in-line with the native implementation.- References to objects within streaming levels, that are resolved before the level has streamed in, no longer cause defective behavior on the client.
- Attempting to replicate a
NonSpatial
actor no longer causes a crash. - The SpatialOS Launcher now launches the correct game client, even when
UnrealCEFSubProcess.exe
is present in the assembly. - Duplicate startup-actors are no longer created when a server-worker reconnects to a deployment.
BeginPlay
is no-longer called authoritatively when a server-worker reconnects to a deployment.- Fast Array Serialization now operates correctly in conjunction with
GameplayAbilitySystem
. - Reference parameters for RPCs are now correctly supported.
- Clients now load the map specified by the global state manager, rather than loading the
GameDefaultMap
before querying the global state manager. - Automatically generated launch configurations for deployments with a prime numbers of server-workers are now generated with the correct number of rows and columns.
- Generating schema for a level blueprint no longer deletes schema that has been generated for other levels.
- Deleting recently created actors no longer causes crashes.
- Having multiple EventGraphs no longer causes incorrect RPCs to be called.
TimerManager
, which is used by SpatialOS networking, is no longer subject to time dilation in theWorld
instance.- Clients no longer crash after being assigned multiple players.
GetWorkerFlag
can now be called from C++ classes.- Pathless mapname arguments are now supported by the GDK commandlet.
- When
NotifyBeginPlay
is called,BeginPlay
is no longer called on actors before theirRole
is correctly set. - Deployments containing multiple server-workers no longer fails to initialize properly when launched through PIE with the
use single process
option unchecked.
External contributors:
In addition to all of the updates from Improbable, this release includes 2 improvements submitted by the incredible community of SpatialOS developers on GitHub! Thanks to these contributors: