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

Commit

Permalink
Merge pull request #1426 from spatialos/0.7.0-preview-rc
Browse files Browse the repository at this point in the history
0.7.0 preview rc
  • Loading branch information
oblm authored Oct 11, 2019
2 parents caa2981 + e3ec0d8 commit 5dc207f
Show file tree
Hide file tree
Showing 149 changed files with 4,289 additions and 2,834 deletions.
13 changes: 10 additions & 3 deletions .buildkite/premerge.steps.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,12 @@ common: &common
- "platform=windows"
- "permission_set=builder"
- "scaler_version=2"
- "queue=${CI_WINDOWS_BUILDER_QUEUE:-v3-1562267374-ab36457a07f081fe-------z}"
- "queue=${CI_WINDOWS_BUILDER_QUEUE:-v3-1569490589-f9345a43b21a6cec-------z}"
retry:
automatic:
- <<: *agent_transients
timeout_in_minutes: 60
plugins:
- git-clean#v0.0.1:
flags: "-ffdx --exclude=UnrealEngine --exclude=UnrealEngine-Cache"
- ca-johnson/taskkill#v4.1: ~

# NOTE: step labels turn into commit-status names like {org}/{repo}/{pipeline}/{step-label}, lower-case and hyphenated.
Expand All @@ -39,3 +37,12 @@ steps:
<<: *common # This folds the YAML named anchor into this step. Overrides, if any, should follow, not precede.
artifact_paths:
- "UnrealEngine/Engine/Programs/AutomationTool/Saved/Logs/*"

# Trigger an Example Project build for any merges into master, preview or release branches of UnrealGDK
- trigger: "unrealgdkexampleproject-nightly"
label: "Post merge Example Project build"
branches: "master preview release"
async: true
build:
env:
GDK_BRANCH="${BUILDKITE_BRANCH}"
6 changes: 1 addition & 5 deletions .github/pull-request-template.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
**Contributions**: We are not currently taking public contributions - see our [contributions](CONTRIBUTING.md) policy. However, we are accepting issues and we do want your [feedback](../README.md#give-us-feedback).

-------

#### Description
Describe your changes here.

Expand All @@ -18,4 +14,4 @@ STRONGLY SUGGESTED: How can this be verified by QA?
How is this documented (for example: release note, upgrade guide, feature page, in-code documentation)?

#### Primary reviewers
If your change will take a long time to review, you can name at most two primary reviewers who are ultimately responsible for reviewing this request. @ mention them.
If your change will take a long time to review, you can name at most two primary reviewers who are ultimately responsible for reviewing this request. @ mention them.
66 changes: 62 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,70 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased-`x.y.z`] - 2019-xx-xx

## [`0.7.0-preview`] - 2019-10-11

### New Known Issue:
- MSVC v14.23 removes `typeinfo.h` and replaces it with `typeinfo`. This change causes errors when building the Unreal Engine. This issue affects Visual Studio 2019 users. Until [this proposed fix](https://github.com/EpicGames/UnrealEngine/pull/6226) is accepted by Epic Games, you can work around the issue by:
1. Open Visual Studio Installer.
1. Select "Modify" on your Visual Studio 2019 installation.
1. Select the "Individual components" tab.
1. Uncheck "MSVC v142 - VS 2019 C++ x64/x86 build tools (**v14.22**)".
1. Check "MSVC v142 - VS 2019 C++ x64/x86 build tools (**v14.23**)".
1. 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`:
1. Open the `spatialos.json` file in the `spatial/` directory of your project.
1. Replace the `sdk_version` value and the version value of all dependencies with `14.1.0`.
1. 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 entering `NotPersistent` in the `Class 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.

## [`0.6.2`] - 2019-10-10

- The GDK no longer relies on an ordering of entity and interest queries that is not guaranteed by the SpatialOS runtime.
- The multiserver offloading tutorial has been simplified and re-factored.

## [`0.6.1`] - 2019-08-15

### Features:
- The [Multiserver zoning shooter tutorial](https://docs.improbable.io/unreal/alpha/content/tutorials/multiserver-shooter/tutorial-multiserver-intro) has been updated to use the Example Project.

### Bug fixes:
### Bug fixes:
- Simulated player launch configurations are no longer invalid when the GDK is installed as an Engine Plugin.
- RPCs that have been queued for execution for more than 1 second (the default value in `SpatialGDKSettings QueuedIncomingRPCWaitTime`) are now executed even if there are unresolved parameters. This stops unresolved parameters from blocking the execution queue.
- Offloading is no longer enabled by default in the Example Project. You can toggle offloading on using [these steps](https://docs.improbable.io/unreal/alpha/content/tutorials/offloading-tutorial/offloading-setup#step-4-enable-offloading).
Expand Down Expand Up @@ -100,7 +158,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Retrying reliable RPCs with `UObject` arguments that were destroyed before the RPC was retried no longer causes a crash.
- Fixed path naming issues in setup.sh
- Fixed an assert/crash in `SpatialMetricsDisplay` that occurred when reloading a snapshot.
- Added Singleton and SingletonManager to QBI constraints to fix issue preventing Test configuration builds from functioning correctly.
- Added Singleton and SingletonManager to query-based interest (QBI) constraints to fix issue preventing Test configuration builds from functioning correctly.
- Failing to `NetSerialize` a struct in spatial no longer causes a crash, it now prints a warning. This matches native Unreal behavior.
- Query response delegates now execute even if response status shows failure. This allows handlers to implement custom retry logic such as clients querying for the GSM.
- Fixed a crash where processing unreliable RPCs made assumption that the worker had authority over all entities in the SpatialOS op
Expand All @@ -117,7 +175,7 @@ In addition to all of the updates from Improbable, this release includes x impro
### New Known Issues:
- `BeginPlay()` is not called on all `WorldSettings` actors [#937](https://github.com/spatialos/UnrealGDK/issues/937)
- Replicated properties within `DEBUG` or `WITH_EDITORONLY_DATA` macros are not supported [#939](https://github.com/spatialos/UnrealGDK/issues/939)
- Client connections will be closed by the `ServerWorker` when using Blueprint or C++ breakpoints during play-in-editor sessions [#940](https://github.com/spatialos/UnrealGDK/issues/940)
- Client connections will be closed by the `ServerWorker` when using blueprint or C++ breakpoints during play-in-editor sessions [#940](https://github.com/spatialos/UnrealGDK/issues/940)
- Clients that connect after a Startup Actor (with `bNetLoadOnClient = true`) will not delete the Actor [#941](https://github.com/spatialos/UnrealGDK/issues/941)
- Generating schema while asset manager is asynchronously loading causes editor to crash [#944](https://github.com/spatialos/UnrealGDK/issues/944)

Expand Down Expand Up @@ -152,7 +210,7 @@ In addition to all of the updates from Improbable, this release includes x impro
- Ensure that components added in blueprints are replicated.
- Fixed potential loading issue when attempting to load the SchemaDatabase asset.
- Add pragma once directive to header file.
- Schema files are now generated correctly for subobjects of the Blueprint classes.
- Schema files are now generated correctly for subobjects of the blueprint classes.
- Fixed being unable to launch SpatialOS if project path had spaces in it.
- Editor no longer crashes when setting LogSpatialSender to Verbose.
- Server-workers quickly restarted in the editor will connect to runtime correctly.
Expand Down
2 changes: 1 addition & 1 deletion RequireSetup
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Increment the below number whenever it is required to run Setup.bat as part of a new commit.
Our git hooks will detect this file has been updated and automatically run Setup.bat on pull.

30
34
22 changes: 11 additions & 11 deletions Setup.bat
Original file line number Diff line number Diff line change
Expand Up @@ -88,25 +88,25 @@ call :MarkEndOfBlock "Create folders"
call :MarkStartOfBlock "Retrieve dependencies"
spatial package retrieve tools schema_compiler-x86_64-win32 %PINNED_CORE_SDK_VERSION% "%CORE_SDK_DIR%\tools\schema_compiler-x86_64-win32.zip"
spatial package retrieve schema standard_library %PINNED_CORE_SDK_VERSION% "%CORE_SDK_DIR%\schema\standard_library.zip"
spatial package retrieve worker_sdk c-dynamic-x86-msvc_md-win32 %PINNED_CORE_SDK_VERSION% "%CORE_SDK_DIR%\worker_sdk\c-dynamic-x86-msvc_md-win32.zip"
spatial package retrieve worker_sdk c-dynamic-x86_64-msvc_md-win32 %PINNED_CORE_SDK_VERSION% "%CORE_SDK_DIR%\worker_sdk\c-dynamic-x86_64-msvc_md-win32.zip"
spatial package retrieve worker_sdk c-dynamic-x86_64-gcc_libstdcpp-linux %PINNED_CORE_SDK_VERSION% "%CORE_SDK_DIR%\worker_sdk\c-dynamic-x86_64-gcc_libstdcpp-linux.zip"
spatial package retrieve worker_sdk c-static-fullylinked-arm-clang_libcpp-ios %PINNED_CORE_SDK_VERSION% "%CORE_SDK_DIR%\worker_sdk\c-static-fullylinked-arm-clang_libcpp-ios.zip"
spatial package retrieve worker_sdk core-dynamic-x86_64-linux %PINNED_CORE_SDK_VERSION% "%CORE_SDK_DIR%\worker_sdk\core-dynamic-x86_64-linux.zip"
spatial package retrieve worker_sdk c_headers %PINNED_CORE_SDK_VERSION% "%CORE_SDK_DIR%\worker_sdk\c_headers.zip"
spatial package retrieve worker_sdk c-dynamic-x86-vc140_md-win32 %PINNED_CORE_SDK_VERSION% "%CORE_SDK_DIR%\worker_sdk\c-dynamic-x86-vc140_md-win32.zip"
spatial package retrieve worker_sdk c-dynamic-x86_64-vc140_md-win32 %PINNED_CORE_SDK_VERSION% "%CORE_SDK_DIR%\worker_sdk\c-dynamic-x86_64-vc140_md-win32.zip"
spatial package retrieve worker_sdk c-dynamic-x86_64-gcc510-linux %PINNED_CORE_SDK_VERSION% "%CORE_SDK_DIR%\worker_sdk\c-dynamic-x86_64-gcc510-linux.zip"
spatial package retrieve worker_sdk c-static-fullylinked-arm-clang-ios %PINNED_CORE_SDK_VERSION% "%CORE_SDK_DIR%\worker_sdk\c-static-fullylinked-arm-clang-ios.zip"
spatial package retrieve worker_sdk csharp %PINNED_CORE_SDK_VERSION% "%CORE_SDK_DIR%\worker_sdk\csharp.zip"
spatial package retrieve spot spot-win64 %PINNED_SPOT_VERSION% "%BINARIES_DIR%\Programs\spot.exe"
call :MarkEndOfBlock "Retrieve dependencies"

call :MarkStartOfBlock "Unpack dependencies"
powershell -Command "Expand-Archive -Path \"%CORE_SDK_DIR%\worker_sdk\c-dynamic-x86-msvc_md-win32.zip\" -DestinationPath \"%BINARIES_DIR%\Win32\" -Force; "^
"Expand-Archive -Path \"%CORE_SDK_DIR%\worker_sdk\c-dynamic-x86_64-msvc_md-win32.zip\" -DestinationPath \"%BINARIES_DIR%\Win64\" -Force; "^
"Expand-Archive -Path \"%CORE_SDK_DIR%\worker_sdk\c-dynamic-x86_64-gcc_libstdcpp-linux.zip\" -DestinationPath \"%BINARIES_DIR%\Linux\" -Force; "^
"Expand-Archive -Path \"%CORE_SDK_DIR%\worker_sdk\core-dynamic-x86_64-linux.zip\" -DestinationPath \"%BINARIES_DIR%\Programs\worker_sdk\core\" -Force; "^
powershell -Command "Expand-Archive -Path \"%CORE_SDK_DIR%\worker_sdk\c_headers.zip\" -DestinationPath \"%BINARIES_DIR%\Headers\" -Force; "^
"Expand-Archive -Path \"%CORE_SDK_DIR%\worker_sdk\c-dynamic-x86-vc140_md-win32.zip\" -DestinationPath \"%BINARIES_DIR%\Win32\" -Force; "^
"Expand-Archive -Path \"%CORE_SDK_DIR%\worker_sdk\c-dynamic-x86_64-vc140_md-win32.zip\" -DestinationPath \"%BINARIES_DIR%\Win64\" -Force; "^
"Expand-Archive -Path \"%CORE_SDK_DIR%\worker_sdk\c-dynamic-x86_64-gcc510-linux.zip\" -DestinationPath \"%BINARIES_DIR%\Linux\" -Force; "^
"Expand-Archive -Path \"%CORE_SDK_DIR%\worker_sdk\csharp.zip\" -DestinationPath \"%BINARIES_DIR%\Programs\worker_sdk\csharp\" -Force; "^
"Expand-Archive -Path \"%CORE_SDK_DIR%\worker_sdk\c-static-fullylinked-arm-clang_libcpp-ios.zip\" -DestinationPath \"%BINARIES_DIR%\IOS\" -Force;"^
"Expand-Archive -Path \"%CORE_SDK_DIR%\worker_sdk\c-static-fullylinked-arm-clang-ios.zip\" -DestinationPath \"%BINARIES_DIR%\IOS\" -Force;"^
"Expand-Archive -Path \"%CORE_SDK_DIR%\tools\schema_compiler-x86_64-win32.zip\" -DestinationPath \"%BINARIES_DIR%\Programs\" -Force; "^
"Expand-Archive -Path \"%CORE_SDK_DIR%\schema\standard_library.zip\" -DestinationPath \"%BINARIES_DIR%\Programs\schema\" -Force;"
xcopy /s /i /q "%BINARIES_DIR%\Win64\include" "%WORKER_SDK_DIR%"
xcopy /s /i /q "%BINARIES_DIR%\Headers\include" "%WORKER_SDK_DIR%"
call :MarkEndOfBlock "Unpack dependencies"

if exist "%SPATIAL_DIR%" (
Expand Down
Loading

0 comments on commit 5dc207f

Please sign in to comment.