GDK for Unreal Alpha Release 0.2.0
Unreal GDK version 0.2.0 is go!
Corresponding Engine version: https://github.com/improbableio/UnrealEngine/tree/4.20-SpatialOSUnrealGDK-0.2.0
Make sure to upgrade your GDK and Engine fork to the latest release. Either use the 0.2.0
tagged commits or switch your projects to the release
branches and pull.
With this release we’ve completely revamped how we handle startup-actors in the world, your snapshot no longer contains every entity in your world and instead your servers will spawn the entities when connecting to your deployment. We've also created a new GDK Template project available in Editor.
Additionally, we’ve simplified our default connection logic to be closer to native Unreal.
Make sure to run Setup.bat
and regenerate your project files after upgrading!
Happy developing!
GDK team
Release Notes 0.2.0
Startup actors revamp is merged! Snapshots are now simpler. Many bugfixes.
New Known Issues:
- A warning about an out of date net driver is printed at startup of clients and server.
For current known issues, please visit this docs page
Features:
- Actors placed in the level are no longer saved to the snapshot. They are instead spawned dynamically at the start of the game. This should fix quite a few issues such as missing references, and non-replicated instanced data being incorrectly set
- Pass player name and login options in the login URL
- Server will identify clients that have been disconnected from Spatial and trigger the cleanup on their NetConnection
- Exposed SpatialOS connection events in
USpatialNetDriver
- Dynamic Component Ids now start from 10000, Gdk Components will now use 9999 - 0 to avoid future clashes
- Report an error during schema generation if a blueprint RPC has a "by reference" argument
- Launch configs can now be auto-generated to match the selected number of servers to launch from within the PIE editor
- Placeholder entities placed into the generated snapshot are now optional with a UI switch in the SpatialOS Settings
- Implemented updated functionality for UnrealGDKEditorCommandlet: Whenever loading a map for schema/snapshot generation, all sublevels will also be loaded before generation is started
- Will now loop through maps (skipping duplicates) during schema generation, to leverage the "iterative schema generation" feature
- Accepts an additional argument -MapPaths that can specify a collection of specific maps and/or directories (recursive) containing maps, delimited by semicolons. If not provided, defaults to "All maps in project"
- The paths passed in via -MapPaths are flexible
Bug fixes:
- StartPlayInEditorGameInstance() now correctly call OnStart() on PIE_Client - (@DW-Sebastien)
- Redirect logging in the cloud to output to the correct file
- Changed type of key in
TMap
so Linux build will not give errors - Disabled loopback of component updates
- Fix hanging on shutdown for PIE when disconnected from SpatialOS
- Fixed an issue which caused a character controller to not be destroyed when leaving the view of an observing client
- Fixed crash on multiserver PIE shutdown
- Fixed single-worker shutdown issues when launching SpatialOS through Unreal Engine 4 with Use - - Single Process unchecked in Play Options
- Fixed crash on closing client from cloud deployment
- Fix
DeleteDynamicEntities
not getting used correctly in shutdown - Only call
BeginPlay()
on Actors if the World has begun play - Fixed an issue with schema generation for the default GameMode
- Deleting the schema database reset the starting component ID
- Report invalid name errors during schema generation instead of when launching a deployment.
SchemaDatabase
can now be deleted and component ids will reset.COND_InitialOnly
are only replicated once at the start- Fixed a bug where standalone clients run locally would not connect to spatial
- Missing classes when connecting via a non-editor client
- Schema is now generated for classes that only have RPCs
- Fixed issue where properties won’t be replicated at the start of the game sometimes
- Fixed path bug when specifying snapshot output file in the settings
- Fixed up default connection flows
- Fixed issue will stale shadow data when crossing worker boundaries.
- Removed actors from replication consider list if Unreal server-worker is not authoritative over said actor
- Remove legacy flag "qos_max_unacked_pings_rate" in generated default config - (@DW-Sebastien)