Skip to content
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

Compare
Choose a tag to compare
@oblm oblm released this 04 Apr 15:57
· 1816 commits to release since this release
7110a93

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 a TearOff 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 the World 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 their Role 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: