Skip to content
This repository has been archived by the owner on Aug 29, 2024. It is now read-only.

GDK for Unreal Release 0.14.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@gdk-for-unreal-bot gdk-for-unreal-bot released this 17 Aug 15:00
01234e5

The release notes are published in both English and Chinese. To view the Chinese version, scroll down a bit for details. Thanks!

Release notes 将同时提供中英文。要浏览中文版本,向下滚动页面查看详情。感谢!

English version

Unreal GDK version 0.14.0 has been released!

Release Notes

Breaking changes:

  • The Handover variable specifier has been deprecated. It should be replaced with the standard Replicated variable specifier and restricting the replication with the new COND_ServerOnly replication condition in GetLifetimeReplicatedProps. Handover variables will try to replicate using the new replication condition, but support will be removed in the next release.
  • Reworked AlwaysInterested functionality to run on authoritative servers, and owning clients. The previous behaviour was for it to only run on PlayerController classes, on the client only.
  • bUseNetOwnerActorGroup actor setting has been removed with the default behavior now true inside LayeredLBStrategy. Extend this class if you wish to alter this default behavior.

Features:

  • Added a "Clean and Generate Schema" option to the Schema menu, which lets you delete the SchemaDatabase.uasset, all generated schema files, and run a Full Scan in one click.
  • GDK heartbeat settings are now used to control the worker heartbeat configurations.
  • Added a setting to control which CrossServer RPC implementation is used. Both feature mentioned below are only enabled when the RoutingWorker is the chosen implementation. Spatial commands are still the default for now.
  • Added reliable CrossServer RPC. Reliable CrossServer RPC now require a sender actor which will be the reference point for ordering in a multi-worker environment. An additional UFUNCTION Tag, Unordered, was added to opt-out of this requirement.
  • Added NetWriteFence UFUNCTION Tag. This tag is used when Network writes to an actor should be ordered with regard to updates to another actor. This is relevant in worker recovery/snapshot reloading to get some ordering guarantees when SpatialOS can write updates to entities in any order.
  • Inspector process is automatically started when starting PIE. This means you can re-use existing inspector browser sessions.
  • Visual Logger now supports multi-worker environments.
  • Gameplay Debugger now supports multi-worker environments.
  • Added StopInsights command to SpatialExecServerCmd, which takes no additional parameters and disables any Insight capturing on the target worker
    • Example usage: "SpatialExecServerCmd local StopInsights
  • Renamed StartInsights command args - trace -> channel and tracefile -> file
  • Added bEventTracingEnabledWithEditor setting to separate out the ability to enable Event Tracing in Editor builds from non-Editor builds.

Bug fixes:

  • An issue with AActor::SetAutonomousProxy has been fixed, where actors that were manually set as AutonomousProxy could get downgraded to SimulatedProxy. The functions SetAutonomousProxyOnAuthority and IsAutonomousProxyOnAuthority have been added to USpatialActorChannel, along with a change to ActorSystem::HandleActorAuthority which will upgrade an actor's role from SimulatedProxy to AutonomousProxy if the actor gains Authority when IsAutonomousProxyOnAuthority is true.
  • Added a pop-up message when schema generation fails, which suggests running a Clean and Generate to fix a bad schema state.
  • Fixed a bug that left the SchemaDatabase.uasset file locked after a failed schema generation.
  • Fixed an issue with migration diagnostic logging failing, when the actor did not have authority.
  • Fixed an issue where migration diagnostic tool would crash if the target actor's owner couldn't be found.
  • Fixed an issue where during shutdown unregistering NetGUIDs could cause an asset load and program stall.
  • Fix RPC timeouts for parameters referencing assets that can be asynchronously loaded.
  • Fixed the test settings overrides config filename in Spatial World Settings so that the file path is relative to the game directory.
  • Fix editor encountering exceptions when shutting down during a PIE session.
  • The runtime will shut down slightly faster after a PIE session.
  • Fixed a rare issue where one would see a change to the owner field but not the changes to owner-only fields.
  • Prevented a client crash that occurs if there is a mismatch between the client and server schema hash.
  • Fixed an issue for actors with bNetLoadOnClient. A dynamic subobject removed from such an actor while out of a client's view will now be properly removed on the client when the actor comes back into the client's view.
  • Fixed an issue that caused UnrealGDK/Setup.sh to report sed: can't read : No such file or directory when run on macOS.
  • Static subobjects on bNetLoadOnClient actors are now removed on clients in a manner matching native unreal's behavior. This change affects subobjects removed by the server while the actor is not in the client's interest.
  • Fixed an issue where multicast rpcs could be overwritten and then dropped on authority flicker.
  • Fixed issue using the runtime snapshot endpoint with a local deployment, using localhost:5006/snapshot works again and creates a snapshot.
  • Dormant actors will now always have their channels closed correctly when entering dormancy.

Internal:

  • Hide the Test MultiworkerSettings and GridStrategy classes from displaying in the editor. These are meant to only be used in Tests.
  • Reserved entity IDs previously expired after 3 minutes. Reserved Entity IDs now no longer expire, and persist until used.
  • A test was calling SetReplicates on an actor over which it did not have authority. This was causing warnings to be triggered. We've fixed this by reverting the actor's role at the end of the test, so that the actor is not left in an unexpected state.
  • Added support for clients to disconnect during a test in the automated test framework.
  • Modified ActorSystem's Ownership and Simulated Subviews to take player ownership into account.
  • Fixed an issue with registering spatial flow controllers in the Spatial Testing Framework.

Upgrading

  • You can find the corresponding UnrealEngine version(s) here.
  • You can find the corresponding UnrealGDKExampleProject version here.

Follow these steps to upgrade your GDK, Engine fork and Example Project to the latest release.

You can read the full release notes here or below.

Join the community on our forums, or on Discord.

Happy developing,

The GDK team