This repository has been archived by the owner on Aug 29, 2024. It is now read-only.
GDK for Unreal Release 0.7.0-preview
Pre-release
Pre-release
Unreal GDK version 0.7.0-preview is go!
Note: this is a preview
release. Preview releases are only tested against Improbable partner projects and have incomplete documentation. We do not recommend upgrading to this version
unless you have production support from Improbable. We are preparing a
public release including all these changes in the near future. For more details see the Versioning Scheme page.
The corresponding Engine version is: 4.22-SpatialOSUnrealGDK-0.7.0-preview
The corresponding ExampleProject version is: 0.7.0-preview
Follow these steps to upgrade your GDK, Engine fork and Example Project to the latest release.
Happy developing!
GDK team
Release notes
New Known Issues:
- MSVC v14.23 removes
typeinfo.h
and replaces it withtypeinfo
. This change causes errors when building the Unreal Engine. This issue only affects Visual Studio 2019 users. You can work around the issue by:
- Open Visual Studio Installer.
- Select "Modify" on your Visual Studio 2019 installation.
- In the Installation details section uncheck all workloads and components until only Visual Studio code editor remains.
- Select the following items in the Workloads tab:
- Universal Windows Platform development
- .NET desktop development
- You must also select the .NET Framework 4.6.2 development tools component in the Installation details section.
- Desktop development with C++
- You must then deselect MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.23), which was added as part of the Desktop development with C++ Workload. You will be notified that: "If you continue, we'll remove the componenet and any items liseted above that depend on it." Select remove to confirm your decision.
- Lastly, add MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.22) from the Individual components tab.
- Select "Modify" to confirm your changes.
Breaking Changes:
- If your project uses replicated subobjects that do not inherit from ActorComponent or GameplayAbility, you now need to enable generating schema for them using
SpatialType
UCLASS specifier, or by checking the Spatial Type checkbox on blueprints. - Chunk based interest is no longer supported. All interest is resolved using query-based interest (QBI). You should remove streaming query and chunk based interest options from worker and launch config files to avoid unnecessary streaming queries being generated.
- If you already have a project that you are upgrading to this version of the GDK, it is encouraged to follow the upgrade process to SpatialOS
14.1.0
:
- Open the
spatialos.json
file in thespatial/
directory of your project. - Replace the
sdk_version
value and the version value of all dependencies with14.1.0
. - Replace all other instances of the version number in the file.
Features:
- The GDK now uses SpatialOS
14.1.0
. - Visual Studio 2019 is now supported.
- You can now delete your schema database using options in the GDK toolbar and the commandlet.
- The GDK now checks that schema and a snapshot are present before attempting to start a local deployment. If either are missing then an error message is displayed.
- Added optional net relevancy check in replication prioritization. If enabled, an actor will only be replicated if IsNetRelevantFor is true for one of the connected client's views.
- You can now specify which actors should not persist as entities in your Snapshot. You do this by adding the flag
SPATIALCLASS_NotPersistent
to a class or by enteringNotPersistent
in theClass Defaults
>Spatial Description
field on blueprints. - Deleted startup actors are now tracked
- Added a user bindable delegate to
SpatialMetrics
which triggers when worker metrics have been received. - Local deployments now create a new log file known as
launch.log
which will contain logs relating to starting and running a deployment. Additionally it will contain worker logs which are forwarded to the SpatialOS runtime. - Added a new setting to SpatialOS Runtime Settings
Worker Log Level
which allows configuration of which verbosity of worker logs gets forwarded to the SpatialOS runtime. - Added a new developer tool called 'Spatial Output Log' which will show local deployment logs from the
launch.log
file. - Added logging for queued RPCs.
- Added several new STAT annotations into the ServerReplicateActors call chain.
- The GDK no longer generates schema for all UObject subclasses. Schema generation for Actor, ActorComponent and GameplayAbility subclasses is enabled by default, other classes can be enabled using
SpatialType
UCLASS specifier, or by checking the Spatial Type checkbox on blueprints. - Added new experimental CookAndGenerateSchemaCommandlet that generates required schema during a regular cook.
- Added the
OverrideSpatialOffloading
command line flag. This allows you to toggle offloading at launch time.
Bug fixes:
- Fixed a bug where the spatial daemon started even with spatial networking disabled.
- Fixed an issue that could cause multiple Channels to be created for an Actor.
- PlayerControllers on non-auth servers now have BeginPlay called with correct authority.
- Attempting to replicate unsupported types (such as TMap) results in an error rather than crashing the game.
- Generating schema when the schema database is locked by another process will no longer crash the editor.
- When the schema compiler fails, schema generation now displays an error.
- Fixed crash during initialization when running GenerateSchemaCommandlet.
- Generating schema after deleting the schema database now correctly triggers an initial schema generation.
- Streaming levels with query-based interest (QBI) enabled no longer produces errors if the player connection owns unreplicated actors.
- Fixed an issue that prevented player movement in a zoned deployment.
- Fixed an issue that caused queued incoming RPCs with unresolved references to never be processed.
- Muticast RPCs that are sent shortly after an actor is created are now correctly processed by all clients.
- When replicating an actor, the owner's Spatial position will no longer be used if it isn't replicated.
- Fixed a crash upon checking out an actor with a deleted static subobject.