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

0.8.1-preview-rc > preview #1907

Merged
merged 31 commits into from
Mar 17, 2020
Merged

0.8.1-preview-rc > preview #1907

merged 31 commits into from
Mar 17, 2020

Conversation

oblm
Copy link
Contributor

@oblm oblm commented Mar 16, 2020

Contributions: We are not currently taking public contributions - see our contributions policy. However, we are accepting issues and we do want your feedback.


Description

This change merges 0.8.1-preview-rc into preview as per the release process.

Release note

See CHANGELOG

Tests

All release process tests passed.

Documentation

https://documentation.improbable.io/gdk-for-unreal/v0.8.1/docs

oblm and others added 27 commits December 5, 2019 11:00
* Feature/UNR-2132 additional endpoint support patch 4.20 (#1531)

* Adding API endpoints for China.

.NET upgraded to 4.6.1 to link to new Platform SDK

* Adding API endpoints for China.

.NET upgraded to 4.6.1 to link to new Platform SDK

* Added release note

* Update CHANGELOG.md

Co-Authored-By: Oliver Balaam <oliverbalaam@improbable.io>

* FIxes from review

* Update SpatialGDK/Build/Programs/Improbable.Unreal.Scripts/DeploymentLauncher/DeploymentLauncher.cs

Co-Authored-By: Michael Samiec <michaelsamiec@improbable.io>

* Update SpatialGDK/Build/Programs/Improbable.Unreal.Scripts/DeploymentLauncher/DeploymentLauncher.cs

Co-Authored-By: Michael Samiec <michaelsamiec@improbable.io>

* Update SpatialGDK/Build/Programs/Improbable.Unreal.Scripts/DeploymentLauncher/DeploymentLauncher.cs

Co-Authored-By: Michael Samiec <michaelsamiec@improbable.io>

* Updating spatial version

* Modifying Setup.bat to respect china endpoints

Adding endpoint settings to LocalDeploymentManager

* Changing china flag to capital

* Fixed URL based on the console

* Update Setup.bat

Fixing whitespace

* Apply suggestions from code review

+ Formatting suggestions

Co-Authored-By: improbable-valentyn <32096431+improbable-valentyn@users.noreply.github.com>
Co-Authored-By: Joshua Huburn <31517089+joshuahuburn@users.noreply.github.com>

* Update DeploymentLauncher.cs

Whitespace fix

* Some items from the review

* Changed comparison to case-insensitive and using --china to supply argument instead

* Adding --China to shell script also

* Update CHANGELOG.md

Added some more info China flags

* Apply suggestions from code review

Tabs->spaces

Co-Authored-By: improbable-valentyn <32096431+improbable-valentyn@users.noreply.github.com>

* + Command-line args changed to lowercase
+ Changed tabs->spaces
+ Sorted DeploymentManager includes

* + Command-line args changed to lowercase + Changed tabs->spaces + Sorted DeploymentManager includes

* Fix spaces

* Fixed formatting

* Updated spot version

* Update worker SDK ports (#1549)

* Feature/update platform endpoint (#1553)

* Update worker SDK ports

* Updating platform endpoint

* Update CHANGELOG.md (#1560)

* Fix the third StopDeployments argument (#1563)

* Fix the third StopDeployments argument

* Update SpatialGDK/Build/Programs/Improbable.Unreal.Scripts/DeploymentLauncher/DeploymentLauncher.cs

* Update Version and VersionName in SpatialGDK.uplugin (#1562)

* Update Version and VersionName in SpatialGDK.uplugin

* Update SpatialGDK.uplugin
* Fix

* Release Note (#1603)

* Update SpatialGDK.uplugin (#1607)

* Update CHANGELOG.md (#1606)
Adapting the CN locator fix for the preview branch, and updating the
changelog.
…1716)

If creating a subobject and setting a replicated reference to it in approximately the same tick, the reference would be set to null forever. This fixes the issue by resolving the dynamic subobject earlier in replication.

* Try to resolve dynamic object refs earlier

* Move TryResolveNewDynamicSubobjectAndGetClassInfo into SpatialPackageMap

* Add error log if trying to resolve an object twice

* Do not try to resolve dynamic subobjects twice

* Remove debugging logs

* Return correct return type

* Make UnrealObjectRef resolution nicer to read

* Add change to changelog

* Apply suggestions from code review

* Apply two missed suggestions

* Remove unneccessary includes and forward declarations

* Add a const when I can

* Change check for ActorComponent to check for all possible subobjects

* Update SpatialGDK/Source/SpatialGDK/Private/Interop/SpatialSender.cpp

Co-Authored-By: improbable-valentyn <32096431+improbable-valentyn@users.noreply.github.com>

* Update SpatialGDK/Source/SpatialGDK/Private/EngineClasses/SpatialPackageMapClient.cpp

Co-Authored-By: improbable-valentyn <32096431+improbable-valentyn@users.noreply.github.com>

* Error gracefully when Object is nullptr

Co-authored-by: improbable-valentyn <32096431+improbable-valentyn@users.noreply.github.com>
* Update spot.version

* Update CHANGELOG.md

* reinstate spot version, update spatialD version

* Update CHANGELOG.md
…nch (#1772)

* Correctly report errors when cloud deployment fails to launch

* Add release note

* Apply suggestions from code review
* Adding refresh token work around and adding header to snapshot upload.

* Running spatial auth whenever you launch a cloud or local deployment. This fixes a china blocker.

# Conflicts:
#	SpatialGDK/Source/SpatialGDKEditorToolbar/Private/SpatialGDKSimulatedPlayerDeployment.cpp
#	SpatialGDK/Source/SpatialGDKServices/Private/LocalDeploymentManager.cpp

* Adding a delegate to TryStartLocalDeployment to be called at the end of the function.
Removing --domain from unreal gdk spatial cli calls.

# Conflicts:
#	Setup.bat
#	SpatialGDK/Source/SpatialGDKServices/Private/LocalDeploymentManager.cpp
#	SpatialGDK/Source/SpatialGDKTests/SpatialGDKServices/LocalDeploymentManager/LocalDeploymentManagerUtilities.cpp

* Setup.sh changes.

* Modifying toast messages for clarity.

* Applying some feedback from PR pointing at 0.6.5

* Removing line from setup.bat and small formatting change.
… not be able to replicate their properties (#1806)

Previously, if trying to create and attach a dynamic subobject to an actor near its creation point, the fields of the dynamic component would not replicate properly after initial creation.
The reason for this was that we were not setting component write ACLs properly for these subobjects. This was due to the change made earlier, to resolve dynamic components earlier, which caused the code trying to check if the subobject is dynamically attached to think it was not dynamically attached, since it has already been resolved. This is fixed by decoupling the writing of ACLs from the resolution of the dynamic object in `SpatialSender::CreateEntity`.

Also a drive-by fix for $lld spam in logs.
Also a drive-by fix for authority queuing not checking which component we got authority over and potentially firing component updates for objects we did not have authority over.

* Initial fix by modifying write ACLs anytime we create a component

* Replace RemoveCurrent with RemoveAtSwap

* Change back to iterator, as we need to preserve order of component updates
* Update CHANGELOG.md

* incremene Version and VersionName
…1826)

* [UNR-2203] Spatial virtual worker translator refactor  (#1471)

* [UNR-2203][MS] Adding LoadBalanceEnforcer, load balancing flag and worker attribute that allows for editing entity ACL components.

* [UNR-2203][MS] Tidy. Also found a bug in SpatialSender.

* Missed in merge.

* [UNR-2203][MS] Tidy tidy.

* [UNR-2203][MS] Combining with LBStrategy.

* [UNR-2203][MS] Tidy. Mostly adding VirtualWorkerId.

* [UNR-2203][MS] Adding a setting for chaniging the LB strategy.

* [UNR-2203] Removing files that shouldn't be there.

* [UNR-2203][MS] Removing spatial debugging asset.

* [UNR-2203][MS] Renaming function.

* [UNR-2203][MS] Feedback from Matt.

* [UNR-2203][MS] Matt feedback

* [UNR-2203][MS] Matt feedback

* [UNR-2203][MS] Merge stuff and adding static functions on AuthorityIntent.

* [UNR-2203][MS] Resolving merge details.

* [UNR-2203][MS] Michael feedback.

* [UNR-2203][MS] More Michael feedback.

* [UNR-2203][MS] Removing commented out code.

* [UNR-2203][MS] Sami feedback.

* [UNR-2203][MS] Feedback

* [UNR-2203][MS] Michael feedback.

* UNR-2364 Crash in ProcessRPCs (#1491)

* ProcessRPCs called recursively is now ignored

* Downgraded the new Warning to Log

* Updated CHANGELOG.md

* Reduce log severity when deleting an actor with no channel (#1492)

Reduce log severity when deleting an actor with no channel

When a startup actor is deleted as its entity comes into view with a Tombstone
component, it won't have an ActorChannel created yet.

* Bugfix/unr 1698 fix host url override (#1430)

* constrain problem to PIE clients

* improve pie detection

* logging

* fix by recognizing first connection

* change connection type determination

* remove debug logging

* revert unintentional changes

* [UNR-1698][MS] Modifying code writen by Vlad Barvinko.

* [UNR-1698][MS] Adding release notes.

* [UNR-1285][MS] PR feedback.

* [UNR-1698][MS] Neatening some bits on the spatial connection flow.
An attempt to use the command line arguments will be made on first connection.
Adding a hack to allow a client to re-connect as if it were connecting for the first time.

* [UNR-1698][MS] Updating CHANGELOG.
Adding a console command to allow for more felxable testing of connecting to locators.

* [UNR-1698][MS] Feedback

* [UNR-1698][MS] Josh feedback

* [UNR-1698][MS] Michael changes.

* [UNR-1698][MS] Fixing a bug when making feedback changes. Tidying up a the case where you try to reconnect using command line args but don't have valid command line args.

* UNR-2363 Use accessors to get Spatial Networking flag from settings (#1488)

* Change accessing the bSpatialNetworking flag to use accessors and add a test to check the early availability of the correct flag value regarding overrides.

* Disable tests while investigating why it fails on CI

* Make copyright headers consistent (#1497)

* Bugfix/servers retain interest in always relevant actors (#1495)

* Server workers maintain interest on always relevant actors

* Release msg

* Update CHANGELOG.md

Co-Authored-By: improbable-valentyn <32096431+improbable-valentyn@users.noreply.github.com>

* Feature/unr 2302 unreal gdk ci testing with spatial (#1463)

* reintroduce tests

* test GIVEN conditions

* fix GIVEN conditions

* store log as arifact

* add debug printing

* fix debugging

* remove debug printing

* first implementation of project cloning

* improve project cloning

* fix missing comma

* fix git clone command

* fix cloning

* fix symlinks

* better logging

* fix comma

* add bracket

* build project

* change build

* fix argument passing

* alternative build

* alternative build

* alternative build

* alternative build

* change build

* alternative build

* alternative build

* generate snapshots and schema

* add snapshot

* add missing comma

* temp fix for directory lock

* find file locker

* better process killing

* print processes for debug

* better logging

* kill spatiald better

* better process killing

* fix typo

* properly kill spatiald

* move symlinking

* add debug logging

* improve deleting

* revert deleting

* proper Plugins directory

* better deleting

* fix symlink deleting

* fix argument passing

* remove irrelevant TODOs

* clean up project

* use specific map

* remove irrelevant TODOs

* fix project deletion

* fix variable name

* remove temporary workaround

* change repo to gym

* fix argument name

* rename variables

* move project to build root

* fix argument passing

* better logging

* generate snapshot for al maps

* properly call commandlet

* only generate snapshot for testing map

* fix project symlink

* test with fake commandlet

* revert commandlet name and remove unnecessary directory creation logic

* test pre-run check

* add debug logging

* fix logging

* disable fastbuild

* remove logging

* reactivate fastbuild

* fix map name

* add proper ps1 junction

* update ABSLOG comment

* wrap executables in quotes to allow spaces

* Update buildkite queues

* revert unintentional queue changes

* Update SpatialGDK/Source/SpatialGDKTests/SpatialGDKServices/LocalDeploymentManager/LocalDeploymentManagerTest.cpp

Co-Authored-By: Michael Samiec <michaelsamiec@improbable.io>

* make pointer constant

* clean up deployment manager code

* fix logging directory

* test with ThirdPersonShooter

* move to testgymsg

* allow test repo branch overriding

* fix merge

* improve argument passing

* make project clone more efficient

* rename file for consistency

* clean up logging

* pin spatial CLI version

* v4-2019-11-11-bk3891-f17bd2c787d2fe1c

New agent image allows building UE 4.23 projects

* run all tests

* fix spatial updating

* improve argument passing

* refactor code

* v4-2019-11-11-bk3891-f17bd2c787d2fe1c

This new agent image allows building projects with UE 4.23

* fix image version

* fix path

* remove unintentionally added file

* give local deployment manager more time to start

* improve naming

* change step name and fix sed

* clarify that file is a template

* Clear queued RPCs on entity/actor deletion (#1490)

* Clear queued RPCs on entity destroyed

* Update changelog

* Move drop RPCs to SpatialActorChannel::Cleanup

* Move Sender clear RPCs to USpatialActorChannel::CleanUp

* UNR-1945 SpatialGDK Example Tests (#1467)

* Initial commit

* Removed unused code

* Removed Mock example objects. Minor reorganisation in in SpatialGDKExampleTest.cpp

* Removed unused line

* Update SpatialGDK/Source/SpatialGDKTests/Examples/SpatialGDKExampleTest.cpp

* Added TestFixture example

* Added Testing guidelines as SpatialGDKTestGuidelines.h

* Small updates of Guidelines

* Updated Guidelines

* Added an example for cmd tests

* Addressing feedback

* Added a better description of TEST macro

* Modified guidelines

* Updated Guidelines for Latent Commands

* Fixed compilation. Renamed slow->background

* Fixed the build after merge

* Added latent command naming rule to Guidelines

* Added Test Coverage section to Guidelines

* Updated Guidelines according to dllexport decision

* Changed raw ptr to TUniquePtr for IFileHandle

* Added one more TestTrue for invalid input, alphabetized headers

* Update SpatialGDK/Source/SpatialGDKTests/Examples/SpatialGDKTestGuidelines.h

Co-Authored-By: Michael Samiec <michaelsamiec@improbable.io>

* Update SpatialGDK/Source/SpatialGDKTests/Examples/SpatialGDKTestGuidelines.h

Co-Authored-By: Michael Samiec <michaelsamiec@improbable.io>

* Update SpatialGDK/Source/SpatialGDKTests/Examples/SpatialGDKTestGuidelines.h

Co-Authored-By: Michael Samiec <michaelsamiec@improbable.io>

* Removed a FileHandle unique ptr

* Updated Guidelines

* Added init/cleanup for ComputationResult

* Use UniquePtr instead of raw ptr

* Update SpatialGDK/Source/SpatialGDKTests/Examples/SpatialGDKExampleTest.cpp

Co-Authored-By: Sami Husain <sami@improbable.io>

* Removed UniquePtr, use SharedPtr instead

* UNR 2363 Fix LocalDeploymentManager to stop using bSpatialNetworking to disable himself. (#1496)

* Re-enable test

* Stop the local deployment manager from writing to the bSpatialNetworking flag when it want to disable itself

* Split big test into individual ones with a common fixture

* make gdk setup self-contained (#1503)

* GCS-1500 - Add support to DeploymentLauncher to parse a .pb.json launch config. (#1453)

* Add support to DeploymentManager to parse a .pb.json launch config.
* Update CHANGELOG.md.
* Increment RequireSetup.

* UNR-2189 - Bugfix cloud launch config default (#1444)

* deploy window now defaults to valid cloud config

* update changelog

* cloud config now defaults to an empty string

* warn if manual_worker_connection is set on a cloud deploy

* update changelog

* small style changes

* Update SpatialGDK/Source/SpatialGDKEditor/Public/SpatialGDKEditor.h

Co-Authored-By: Michael Samiec <michaelsamiec@improbable.io>

* Changed to use a message dialog

* Updated includes

* Review comments

* Moved IsManualWorkerConnectionSet to IsDeploymentConfigurationValid

* Cleanup

* Cleanup

* Changed to static

* Reload class by component id if it has been unloaded (WIP) (#1508)

* Reload class by component id if it has been unloaded

* Revert "Reload class by component id if it has been unloaded"

This reverts commit 00715a0d1a24a0322e8aba2d677fbd2cf64dd4e8.

* Revert "Revert "Reload class by component id if it has been unloaded""

This reverts commit c54f27c2b0157037f12b24715a2a9ef115ef8c62.

* Updating changelog for dynamic component reload crash.

* Updating changlog as requested by Valentyn.

* Feature/unr 1998 adding network profiler calls (#1424)

Added network profile hooks to support the ue4 network profiler with spatial.

* UNR-2181 - Add option to DeploymentLauncher to deploy only sim player deployment (#1452)

* Add option to DeploymentLauncher to deploy only sim player deployments without the target deployment. That allows us to use a separate assembly for the target and the sim deployments, and launch the independently.

* Move RPC types into separate enum, remove old reliable RPC checking (#1515)

* Move RPC types into their own enum

* Remove outdated ordered RPC checking

* Bugfix: Fixed up regex to handle log categories without imporba… (#1512)

* Fixed up regex to handle log categories without imporbable. prefix

* Revert deployment launcher change

* UNR 1132 Correct handling of unresolved reference in structs (#1509)

* Fix unresolved ref inside structs handling

* Make UPackageSpatialMapClient return whether we have an unresolved object

* Remove unnecessary ConfigRestartRequired = false from settings (#1519)

* Update fastbuild readme (#1522)

* Update README.md

* Update SpatialGDK/Extras/fastbuild/README.md

Co-Authored-By: Joshua Huburn <31517089+joshuahuburn@users.noreply.github.com>

* forgot quotes

* Update SpatialGDK/Extras/fastbuild/README.md

Co-Authored-By: Jared Dixey-Hefty <jared@improbable.io>

* Feature/unr 2034 spatial debugger (#1505)

* Add raw textures

* Allow SpatialGDK to contain Content

* Add delegates for OnEntityAdded/Removed

* Add ability to retrieve current list of known entity ids

* Add first pass SpatialDebugger

* Sort actors once per tick by range to PlayerPawn

* Pass console commands to SpatialDebugger

* add icon textures

* Reference SpatialDebuggerClass from SpatialGDKSettings

* Add blueprint-side BP_SpatialDebugger

* - Fix bug with lock icon

- Remove stacking for now
- Cleanup spacing in the header

* Variable horizontal offsets for icons/text depending on which ones are enabled

*  - Remove some magic numbers

 - Expose WorldSpaceActorTagOffset via UPROPERTY

*  - Rename constant to match it's now more restricted usage

* Moving away from member initializer list toward more modern initialization style.  Also, UObjects are zero'd by default, so we only need to set deltas from that

* supertick

* bunch more little fixes

* Switch to using FSoftClassPath for SpatialDebuggerClassPath as a default can then be provided

* Don't render tags that project to 0,0

* Set defaults up correctly so we aren't rendering data that isn't available yet

* final cleanup pass

* Naming consistency for the delegates in SpatialReceiver

* Add comment to make it clear what this method is for

* Linux should compile too

* Add placeholder changelog entry

* Add box icon

* Reference new box texture asset

* Add box texture and address review feedback

* Address review feedback

* Enable SchemaGen for types in non-Game (ex. Plugin) folders

* Addressing PR feedback

* Final fixes for SpatialDebugger before merge

* Update changelog comment

* Fix bad merge

* Fixes required after syncing Master

* const

* Disable by default

* Add overrides for handover, server interest, and load balancing (#1523)

* Add overrides for handover, server interest, and load balancing

* Feature/sim player scripts changelog (#1530)

* [UNR-2425][MS] Adding note to the change log to inform customers of the new scrips that will exist inside the UnrealExampleProject.

# Conflicts:
#	CHANGELOG.md

* Formatting change

* Update name of one of the sim player scripts.

* [UNR-2425][MS] Ollie Feedback.

* Update CHANGELOG.md

* UNR-2287 Server travel (#1455)

* change static component view to live on worker connection, not net driver

* only kill unreal objects when wiping world

* added reset gsm function, reset gsm on server travel

* added missing reset gsm call

* partially completed sessionID task

* replace isServer, change when onConnect callback is called

* [UNR-2287][MS] Small tidy. Changing some members to private as they have "important" setters.
Also correcing an error in GlobalStateManager.cpp.
Adding "session_id" to DeploymentMap component in global_state_manager.schema.

* [UNR-2287][MS] Small fix.

* [UNR-2287][MS] Global state manager now sits on the worker connection as it should persist after the net driver is destroyed.
SessionId is sent to the client through the URL. This sessionId is checked against the GSMs sessionId once we have loaded the map.
Removed code to do with snapshat loading on server travel.

* [UNR-2287][MS] Allow request to spawn player if it is the first time we are connecting to a worker.

* [UNR-2287][MS] Code tidy.

* [UNR-2287][MS] Adding to the changelog.

* [UNR-2287][MS] Update to formatting.

* [UNR-2287][MS] Tidy up.

* [UNR-2287][MS] Tidy.

* [UNR-2287][MS] Tiny formatting change.

* [UNR-2287][MS] Sahil feedback.

* [UNR-2287][MS] Josh server travel feedback.

* [UNR-2287][MS] Fixing crash when closing editor in non single process mode.

* [UNR-2287][MS] Feedback from Michael.

* [UNR-2287][MS] Adding comments to clear up use on net driver as reqeusted by Michael.

* [UNR-2287][MS] Josh feedback.

* [UNR-2287][MS] Janky Janky fix for crash that was occuring on second PIE session.
A NetDriver was not being destroyed thus its FSpatialOutputDevice was not being destroyed.
This in turn means that a FSpatialOutputDevice exists with a pointer to an older SpatialWorkerConnection which is invalid.
No idea why this actually fixes the issue.

* [UNR-2287][MS] Correcting log mistake.

* [UNR-2287][MS] Josh feedback.

* [UNR-2287][MS] Josh feedback

* [UNR-2287][MS] Michaels feedback.

* [UNR-2287][MS] Michael feedback.

* [UNR-2287][MS] Better name for GSM SessionId

* [UNR-2287][MS] Josh feedback!

* [UNR-2287][MS] Josh feedback

* [UNR-2287][MS] Josh feedback

* [UNR-2287][MS] Michael feedback.

* Build issue?

* Build fix?

* UNR-1905 - Improve slack hooks (#1501)

Recently unit tests have been introduced to the GDK CI. This PR introduces a Slack notification that will be sent for each build on master, detailing which tested engine versions passed or failed testing.

This functionality is implemented via Buildkite artifacts. During each testing run of an engine version, a slack JSON message is uploaded as an artifact. A new step in the pipeline runs after all testing steps have been completed, downloads all of the uploaded JSON message attachments, and merges these into a single Slack notification.

* Zoning glue: This uses the Strategy, Translator, and Enforcer t… (#1513)

This makes the previously available components work together. Now when the system runs, the Translator will create/read the virtual worker to physcial worker mapping, then when we call ReplicateActor, the Strategy will be queried for the appropriate authority for the actor, and the Enforcer will write the appropriate ACL.

* implement tracking and fix slack message (#1537)

This PR adds automatic tracking of some GDK test-related metrics. These metrics are uploaded to BigQuery and are displayed in a DataStudio dashboard.

* fix environment variable

Fixes Slack message for nightly builds.

* Added %s token to debug strings in GlobalStateManager to display actor class name in log (#1541)

* Added %s token to debug strings to display actor class name in log

* Added line to CHANGELOG.md

* Added check (#1543)

* Fix reporting of number of tests

Fixes test metrics that are uploaded to BigQuery.

* Bugfix/unr 2501 tombstone check to log (#1548)

* Convert assert to verbose log, as the assert condition can be valid when called through SpatialReciever::HandleActorAuthority

* Update changelog.md

* Add spec for linking SpatialMetrics API (#1550)

* Adjust formatting and namespace scope for SpatialConstants (#1552)

* Adjust formatting and namespace scope for SpatialConstants

* Move ESchemaComponentType out of the namespace

* Feature/unr 2396 add trace lib measurements (#1528)

Added trace library and usage API

* UNR-2129 Reduce code coupling (#1546)

* Removed SpatialNetDriver from the Translator

* SpatialLoadBalanceEnforcer is no longer a UObject. It's now stored as a SharedPtr in NetDriver and a WeakPtr in Receiver

* Made SnapshotManager a non-UObject, changed it to SharedPtr in NetDriver

* Fixed the build

* Made UActorGroupManager to not be a UObject

* Made USpatialDispatcher to not be a UObject

* Some renaming for non-UObject classes

* Removed NetDriver from SnapshotManager, added validity checks

* Added missing checks

* Fixed a bug with validity check

* Moved the declaration of PostWorldWipeDelegate out of SpatialNetDriver

* Fixed a SpatialVirtualWorkerTranslator test

* Fixed a potential bug with BindLambda by not passing this

* Update SpatialGDK/Source/SpatialGDK/Private/Interop/SpatialReceiver.cpp

Co-Authored-By: Michael Samiec <michaelsamiec@improbable.io>

* Moved check out of the loop

* Alphabetized class declarations in SpatialNetDriver.h

* Changed SharedPtrs to UniquePtrs

* Added nullptr checks in Init functions

* Moved PostWorldWipeDelegate declaration to SnapshotManager. Removed unnecessary declarations

* Renamed ActorGroupManager.h/.cpp to SpatialActorGroupManager.h/.cpp. Renamed SnapshotManager.h/.cpp to SpatialSnapshotManager.h/.cpp

* Removed LoadBalancer validity check (#1568)

* Enabling SpatialOS toolbar on Mac (#1507)

* adding spot download to Setup.sh

* whitelisting mac for toolbar and gdk  services

* enabling schema compiler on mac

* making spatial and spot available on mac

* removing windows checks

* PR feedback

* some renaming

* removing anonymous namespace

* PR feedback

* added changelog and ticket number

* Provide help for rebuilding engine artifacts if download failed (#1574)

* Allows RunSchemaCompiler to output any format (#1440)

Allow the RunSchemaCompiler function to compile additional schema formats based on CL args.

* Enabling pushing iOS command line arguments to builds (#1521)

* adding iOS runtime settings to Build.cs

* adding new menu item to update mobile client

* PR feedback

* PR feedback

* making sure it works on windows

* Feature/0.7.1 preview merge to master (#1579)

* Update CHANGELOG.md (#1458)

* 0.7.1 (#1575)

* Update CHANGELOG.md (#1458) (#1565)

* Merged 0.6.3 into 0.7.1-rc and manually resolved conflicts (#1566)

* Merged 0.6.3 into 0.7.1 and manually resolved conflicts

* Update SpatialGDK/Source/SpatialGDKServices/Private/LocalDeploymentManager.cpp

Co-Authored-By: Danny Birch <57946331+improbable-danny@users.noreply.github.com>

* Update SpatialGDK/Source/SpatialGDK/Private/Interop/Connection/SpatialWorkerConnection.cpp

Co-Authored-By: improbable-valentyn <32096431+improbable-valentyn@users.noreply.github.com>

* Update SpatialGDK/Source/SpatialGDKServices/Private/LocalDeploymentManager.cpp

Co-Authored-By: Danny Birch <57946331+improbable-danny@users.noreply.github.com>

* Apply suggestions from code review

* Update CHANGELOG.md (#1576)

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update SpatialGDK/Source/SpatialGDKServices/Private/LocalDeploymentManager.cpp

* Update DeploymentLauncher.cs

Manually merged in sim deployments endpoint

* Fixed region order

* Fixes from PR

* Feature/unr 2494 expose additional connection config settings (#1567)

* Add connection config settings, increment spatial version to 14.2.1

* Reworked connection config

* Add comments and changelog

* Reworked inline to struct

* Settings rename

* Add domain env var to setup.sh (#1583)

* UNR-2507 - LoadObjects when bNetLoadOnClient is false and object is deleted. (#1571)

* Also try loading objects if we can't find them and they have a stable ref

* Updated changelog

* Check for bNetStartup and update comments

* Update CHANGELOG.md

Co-Authored-By: Michael Samiec <michaelsamiec@improbable.io>

* UNR-2129 Removed NetDriver from WorkerConnection (#1580)

* Removed NetDriver from WorkerConnection

* Addressed PR feedback

* Update SpatialGDK/Source/SpatialGDK/Private/EngineClasses/SpatialNetDriver.cpp

Co-Authored-By: Michael Samiec <michaelsamiec@improbable.io>

* Added a WITH_EDITOR if macro to fix the build (#1584)

* UNR-2318 stop spatial service which runs in different project (#1573)

* check bSpatialServiceInProjectDirectory flag to find a service running from the wrong dir

* Bugfix/log spelling fix (#1593)

* Corrected "succesfully" to "sucessfully"

* Added changelog note

* Default to 4.23 version (#1594)

* Default to 4.23 version

* [UNR-2553][MS] Fix for droppped URL options. (#1597)

* [UNR-2553][MS] Fix for droppped URL options.

* [UNR-2553][MS] Adding helpful comment.

* UNR-1995 Workflow improvement for local deployments where a schema build previously failed  (#1517)

Workflow change to stop deployments starting after an invalid schema build

* Before sorting actors based on distance to the player, remove any wea… (#1598)

* Before sorting actors based on distance to the player, remove any weak pointers that no longer point to valid actors

* Fix crash in SpatialDebugger caused by dereference of invalid weak pointer

* Addressing PR feedback

* UNR-2318: Use text which was provided by tech editors (#1600)

* UNR-2129 Removing unused code (#1596)

* Removed NetDriver's friends and hid some members

* Removed unused IsSingletonEntity function from SpatialActorChannel

* [UNR-2129] Decouple net driver and Spatial metrics (#1590)

* Remove coupling between spatial metrics and net driver

* GV-101 - Expand CI build configurations (GDK) (#1559)

Previously only two build configurations were used in CI. With these changes, the GDK is built for a much wider range of configurations.

* Refactored an overzealous warning message and a drive by fix to acl processing. (#1588)

* [WIP] Add ring buffer settings (#1520)

* Add ring buffer settings

* Make default ring buffer size and size map private

* Generate RPC endpoint schema (#1527)

* Add ring buffer settings

* Make default ring buffer size and size map private

* Mark event-based RPC components as legacy

* Few adjustments to schema gen tests, move expected schema into separate files

* Schema gen for RPC endpoints

* Move local functions into anonymous namespace

* Address PR suggestions

* Fix bad merge

* Fix bad merge

* Increment requiresetup

* ServerTravel cleaning: Fix race condition and removing log.  (#1569)

* Fixing two issues.

There was a race where the server had loaded the map, the GSM had been created but the server did not have authority over the SpatialConstants::STARTUP_ACTOR_MANAGER_COMPONENT_ID component on the GSM.
This lead to a failed check() in SetCanBeginPlay.

Also adding the !GlobalStateManager->IsReadyToCallBeginPlay() check.
This is just in case we load the map after we gain authority over the component on the GSM. When we gain autority the GSM has will have already called SetCanBeginPlay(true) so we shouldn't do this again.

Also removing th log as I don't think it is helpful. The flow of not doing the GlobalStateManager->SetCanBeginPlay(true) logic is perfectly valid. Essentially we only want to go down this path on server travel.

* [UNR-2515][MS] Changing function name on GSM so that it makes sense when used in more scenarios.

* UNR-2503 SpatialDebugger colourings (#1581)

* spatial debugger colourings

Co-Authored-By: Sami Husain <sami@improbable.io>
Co-Authored-By: aleximprobable <oleksandrmoroz@improbable.io>

* Review: Worker translator typedefs (#1605)

* Replace worker name typedef with alias-declaration and use consistently

* IWYU, CoreMinimal first, remove double space

* Use alias in declaration, too

* Add more missing includes

* Update release process email list (#1595)

* UNR-2352 Pop & locking actors (#1599)

* Added the abstract locking policy.
* Added the reference counted locking policy and tests.
* Added the locking policy to the settings and the net driver.
* Actor channel now checks for the authority intent as well as authority.

Co-Authored-By: Sami Husain <sami@improbable.io>

* UNR-2129 Removed the Sender from the Enforcer (#1570)

* Removed Sender from Enforcer. Added static construct function. Removed pointer checks, since the object must be valid by default now

* Removed static constructor

* Process all queued ACL Assignemnts before returning

* Fixed bad merge

* Made some functions const

* Made StaticComponentView const in the Enforcer

* Fixed the build

* Made more StaticComponentView's functions const

* Update SpatialGDK/Source/SpatialGDK/Public/Interop/SpatialStaticComponentView.h

Co-Authored-By: Michael Samiec <michaelsamiec@improbable.io>

* Applied PR suggestion

* Removed unnecessary includes

* Update SpatialGDK/Source/SpatialGDK/Public/EngineClasses/SpatialLoadBalanceEnforcer.h

Co-Authored-By: Michael Samiec <michaelsamiec@improbable.io>

* Addressing PR feedback

* Updated includes

* Update premerge.steps.yaml (#1616)

* dont-create-locking-policy-on-client (#1614)

this happened accidentally in a rebase

* Update ReferenceCountedLockingPolicy.cpp (#1618)

This was blocking Evi's build compiling. It succeeded on my machine + CI, could be an issue with precompiled headers.

* UNR-2129 SpatialWorkerCleanup (#1610)

* Moved the StaticComponetView and the GlobalStateManager to the SpatialGameInstance

* Update SpatialGDK/Source/SpatialGDK/Private/EngineClasses/SpatialNetDriver.cpp

Co-Authored-By: Michael Samiec <michaelsamiec@improbable.io>

* Added handling of connection error

* Addressing PR feedback

* Fixed the build

* Addressing PR feedback

* GSM and StaticComponentView are now created as part of USpatialGameInstance::Init

* Added nullptr checks

* Update SpatialGDK/Source/SpatialGDK/Private/EngineClasses/SpatialNetDriver.cpp

Co-Authored-By: Sahil Dhanju <Vatyx@users.noreply.github.com>

* Moved GSM and StaticComponentView to private in GameInstance, added getters

* Only explicitly set external ip to true if not connecting to local host (#1608)

* Only explicitly set external ip to true if not connecting to local host

* Update CHANGELOG.md

* update Linux queue to recent version (#1624)

update linux queue to -v4-2019-12-12-bk5225-daecba805768d787

* Bugfix UNR-1259 fix worker flags not per worker (#1585)

* Change SpatailaWorkerFlag Class to UObject, Create SpatialWorkerFlag per NetConnection and  pass SpatialWorker reference in Dispatcher.

* Add GetWorkerFlag BlueprintCallable function in SpatialStatic class

* Add Unit Tests for SpatilaWorkerFlags Class

* Make GetspatialWorker const function, Remove unacessary include

* Change of delegate declaration and minor fixes

* Remove const from Get worker flag, Sort includes

* Update SpatialGDK/Source/SpatialGDK/Private/Interop/SpatialWorkerFlags.cpp

Co-Authored-By: Daniel Hall <danielhall@improbable.io>

* Update SpatialGDK/Source/SpatialGDK/Private/Utils/SpatialStatics.cpp

Co-Authored-By: aleximprobable <oleksandrmoroz@improbable.io>

* Update SpatialGDK/Source/SpatialGDK/Private/Utils/SpatialStatics.cpp

Co-Authored-By: Daniel Hall <danielhall@improbable.io>

* Update SpatialGDK/Source/SpatialGDK/Public/Utils/SpatialStatics.h

Co-Authored-By: Tencho Tenev <tencho@improbable.io>

* Update SpatialGDK/Source/SpatialGDKTests/SpatialGDK/Interop/SpatialWorkerFlags/SpatialWorkerFlagsTest.cpp

Co-Authored-By: Samuel Silvester <samsilvester@improbable.io>

* Update SpatialGDK/Source/SpatialGDKTests/SpatialGDK/Interop/SpatialWorkerFlags/SpatialWorkerFlagsTest.cpp

Co-Authored-By: Samuel Silvester <samsilvester@improbable.io>

* Update SpatialGDK/Source/SpatialGDKTests/SpatialGDK/Interop/SpatialWorkerFlags/SpatialWorkerFlagsTest.cpp

Co-Authored-By: Samuel Silvester <samsilvester@improbable.io>

* Update SpatialGDK/Source/SpatialGDKTests/SpatialGDK/Interop/SpatialWorkerFlags/SpatialWorkerFlagsTest.cpp

Co-Authored-By: Samuel Silvester <samsilvester@improbable.io>

* Minor Fixes, change DummyObj to SpyObject and refactor class

* Update SpatialGDK/Source/SpatialGDKTests/SpatialGDK/Interop/SpatialWorkerFlags/SpatialWorkerFlagsTest.cpp

Co-Authored-By: Sami Husain <sami@improbable.io>

* MinorFixes

* Removed public GetOnWorkerFlagsUpdated Delegate

* Switch defaults to 14.3.0 (#1631)

* Missed tcp fixes (#1635)

* RPC Service (Ring buffers) (#1554)

* Add ring buffer settings

* Make default ring buffer size and size map private

* Mark event-based RPC components as legacy

* Few adjustments to schema gen tests, move expected schema into separate files

* Schema gen for RPC endpoints

* Move local functions into anonymous namespace

* Address PR suggestions

* RPC Service (WIP)

* Add RPC components, utils functions

* Seems like it should work, but doesn't

* Seems to work

* Fix bad merge

* Fix bad merge

* Reworked RingBufferDescriptor into several smaller functions and a smaller descriptor

* Fix cross-server RPCs, change check to error status

* Added logs for some cases

* Handle initial multicast RPCs, address PR comments

* Adjust condition

* Address PR comments

* Fix last seen multicast after crossing boundary

* Tests for RPCService (#1602)

* [UNR-2509][MS] Initial tests for RPCService.

Todo - add working compare functions for RPCPayloads and schema objects.
Todo - checks initially_present is set when pushing rpcs with no entity in the component view.

* [UNR-2509][MS] Feedback and extra test.

* [UNR-2509][MS] Fixing comparison functions. All tests passing!

* [UNR-2509][MS] Cleaning.

* [UNR-2509][MS] Cleaning.

* [UNR-2509][MS] Cleaning.

* [UNR-2509][MS] Matt Young feedback.

* [UNR-2509][MS] Moving RPCServiceTest.cpp to Private/Tests.
- Removing SPATIALGDK_API from various classes/functions.
- moving TestDefinitions to Public/Tests.

* [UNR-2509][MS] Sami feedback.

* [UNR-2509][MS] Matt Yound feedback.

* [UNR-2509][MS] Feedback.

* Adjustments for RPC Tests (#1629)

* Use the right call to WriteToSchemaObject

* Check for RPCService being valid

* Remove redundant include

* Increment RequireSetup

Co-authored-by: Sami Husain <sami.hs1@gmail.com>
Co-authored-by: MatthewSandfordImprobable <matthewsandford@improbable.io>

* Bugfix/unr 2607 SpatialDebugger crashfix (#1636)

* Fix crash dereferencing null VirtualWorkerTranslator when using the SpatialDebugger with GDK-space load balancing disabled

* Update changelog.md

* bugfix the bugfix

* Rename origin to prevent name clash warning (#1637)

* [UNR-2434][MS] Removing logic from schema generator for spatial type look up (#1591)

* [UNR-2434][MS] Removing logic from schema generator that used to look up the parent tree to find the correct spatial flags.
This logic is now done as part of UClass::Serialize.

* [UNR-2434][MS] Removing logic from schema generator that used to look up the parent tree to find the correct spatial flags.
This logic is now done as part of UClass::Serialize.

* Switch schema database path to editor version (#1638)

* Switch schema database path to editor version

* Changelog

* Fix TestDefinitions.h includes and misc include fixes to the exmaples tests. (#1640)

* Add additional perf counters (#1634)

* UNR-2586: provide parameters for tests path and networking backend (#1621)

* provide parameters for tests path and networking backend

* make the spatial networking a default one

* don't generate snapshot if running on unreal networking

* remove useless include

* [UNR-2190] Async load new classes on checkout (#1642)

* Async load new classes when checking out entities

* Handle multiple entities trying to load same class, adjust queued ops

* Turn async loading off by default

* Add release note

* Adjust comment

* Address PR comments

* Bool formatting

* SpatialDebugger spawns debug worker regions on clients for grid based… (#1628)

* SpatialDebugger spawns debug worker regions on clients for grid based lb strats
* Only calculate worker regions on singleton authoritative worker
* Delete spamming log when spatial debugger enabled without load balancing
* Fixed worker region uasset to be 4.22

* [UNR 2583] Handle asynchronous loading for stably named assets (#1649)

* Record pending loading packages, and poll them each frame to resolve properties.

* [UNR-2583] Serialize unresolved SoftObjectPointers (#1641)

* Read and write soft object references

* Add entity factory (#1662)

* Extracts & encapsulates Actor->Entity logic

As part of Snapshot Migration we go through most of the same process that the
SpatialSender does when initially creating an Entity; we take an Actor
(well, actually its Channel) and enumerate the Spatial Components that
represent that Actor as an Entity.

The Sender follows this up by sending a CreateEntity request while the
Migrator takes the resulting Components and "fast-forwards" data from
the old Components (from the existing Entity that we read out of the
Snapshot) onto them when possible and where appropriate.

This change just pulls the logic for actually creating a list of
Components from an Actor out into its own encapsulated thing that can be
invoked without needing to route through the SpatialSender; right now
everything is still shoved into one function but I think breaking it
down into a number of smaller, more easily parseable functions that are
invoked internally would be a low-hanging next step.

* Update EntityFactory.cpp

Fix `[Client|Server]RPCEndpoint.h` to point to the legacy versions.

* Update CHANGELOG.md

* Update EntityFactory.cpp

Fix tweaked constant names & server/client rpc endpoint class names

* Update EntityFactory.cpp

Pull in up-to-date code from SpatialSender

* Update EntityFactory.h (#1663)

* Update EntityFactory.h

* Update EntityFactory.cpp

* Update SpatialSender.cpp

* Update EntityFactory.h

Add missing semicolon

* Add entity factory explicit constructor arguments (#1667)

* Update EntityFactory.h

* Update EntityFactory.cpp

* Update SpatialSender.cpp

* Add additional index from schema functions (#1661)

* Adds IndexFromSchema functions for various classes

As part of the Snapshot Migration work, we need to extract existing
SchemaObject values from SchemaObjects representing the data on a
component. While many of the Unreal-facing classes that represent
SchemaObjects do have IndexFromSchema functions (which facilitates
extracting collections from SchemaObjects) defined, the ones addressed
in this PR did not.

The Migrator doesn't reason about cardinality of a
field in Schema, since the Singular and Optional field cases are simply
degenerate Arrays (with 1 and 0 or 1 elements, respectively). As such,
it assumes everything can be treated as an array and maintains a thin
compatability wrapper that allows us to use IndexFromSchema functions to
extract an arbitrary number of _correctly-typed_ objects from a
SchemaObject; this is important as we may need to apply a transform (e.g., updating component Ids to accomodate schema changes) to the object before writing it back to the new snapshot.

* Add missing GetRotatorFromSchema

* Update CHANGELOG.md

* Update SpatialGDK/Source/SpatialGDK/Public/Utils/SchemaUtils.h

Line spacing fix

Co-Authored-By: Joshua Huburn <31517089+joshuahuburn@users.noreply.github.com>

Co-authored-by: Joshua Huburn <31517089+joshuahuburn@users.noreply.github.com>

* Fixup incomplete include path (#1668)

* Native latency tracing support + updating build paths so the WorkerSD… (#1644)

Tracing lib now supports native tracing by passing around a payload blob

* Add sensible heartbeat options when running in editor (#1643)

* Add sensible heartbeat options when running in editor

* Update changelog

* Added runtime setting for WITH_EDITOR timeout

Co-authored-by: improbable-valentyn <32096431+improbable-valentyn@users.noreply.github.com>

* [UNR-2645][MS] Removing PostRepNotifies call (#1658)

* Update SpatialGDKEditorSettings.h (#1676)

* UNR-2595 - SpatialWorkerConnection tests (#1620)

* SpatialWorkerConnection tests

* Made 2 proper WorkerConnection tests

* UnrealWorker is now used for testing instead of AutomationWorker (to be investigated, why that's the issue). Added entity id reservation test.

* Fixed AutomationWorker type issues

* Added some more tests, removed commented code

* Removing a failing test

* Addressing feedback

* Add TitleProperty to Launch->ServerWorkers (#1540)

Co-authored-by: Michael Samiec <michaelsamiec@improbable.io>

* Fix includes for Engine plugin build (#1683)

* [UNR-2275] Track references to replicated objects in order to restore them when they move out and in relevance. (#1551)

* Track mapped object refs

* Fix component constraint using correct constraint variable (#1681)

* Fix component constraint using correct constraint variable

* Add changelog

* Fix crash when attempting to add map element back in whilst map size changes (#1686)

* [UNR-2563][MS] Adding spatial auth into the deployment process. (#1664)

* [UNR-2563][MS] Adding spatial auth into the deployment process. Adding a quick fix for understanding why deployments fail to launch.

* [UNR-2563][MS] Updating changelog.md and fixing an issue.

* [UNR-2563][MS] Running the auth login on a different thread to stop the editor hanging.

* [UNR-2563][MS] Neat little changes.

* Move the Load Balancing Translation mapping from the GSM to its… (#1654)

* Move the Translation Mapping from the GSM to its own entity.

* Made the mapping transient on the translation entity, and cleaned up the isReady logic to allow for PiE restarts.

* Fix worker region collision (#1689)

* Empty channel's reference map in USpatialNetDriver::RemoveActor (#1694)

* Added more detailed stat tracking in component update (#1695)

* Latency tracing of properties (native + spatial) (#1673)

Property tracing for native Unreal and Spatial

* Bugfix/unr 2171 mismatched schema warnings (#1592)

Schema hash can now be validated against the server to ensure both client and server are running with the same schema asset

* Bugfix/gsc 1513 fixing get actor spatial position for spectator mode (#1699)

* Fixed retrun value from GetActorSpatialLocation for players in spectator mode

* Updated comment documentation

* [nojira][MS] Sorting SchemaDatabase  (#1696)

* [nojira][MS] Changes darewise wanted to make that seem legit.

* Adding a changelog to sorting of SchemaDatabase.

* Feedback

* Feedback.

* dedupe bucket (#1685)

* flatten

* manually tested working

* comment

* correct comment

* less dumb map usage

* const const

* extract checkout constraint functionality

* unit tests for deduping

* PR comments

* Cleanup

* Tim comments

* nit

* UNR-2579 Locking tests (#1679)

* abstract package map & translator with mocks
* static component view mock
* add more locking tests

* UNR-2702 Added a readiness check for EntityPool (#1674)

* Added a readiness check

* Added validity check in ResolveEntityActor

* Added some more checks

* Destroying the Channel and the Actor, if can't resolve the entity

* [UNR-2485] Add integration/end-to-end/networking tests to CI (#1684)

Uses the new repository for the integration/end-to-end testing framework, and runs these tests in CI.

* UNR-2485: update ci scripts for the networking tests

* add test project root to avoid conflict

* provide report dir parameter to tests run script

* try to use ssh instead of https

* fix url

* add directory to a cleanup script

* add parameters to run specific tests directory

* remove assignment

* replace with class

* fix class definition

* fix cleanup step

* try to run networking test first

* run native netwroking tests

* Start a local deployment if running with spatial

* Fix dangling comma in list, make addition to list clearer

* Fix spatial override

* Change boolean value to 1, because I can't parse for some reason

* Parse run_with_spatial as bool

* fix type

* fix override type

* Add temporary logging

* Fix debugging pipe

* Add cruder debugging

* Add sleep before checking log

* Build worker configs before launching local deployment

* Remove wrong whitespace

* Update unreal-engine.version

* Remove debugging, stop spatial only if it started

* Try only running one project

* run net tests with and without spatialos

* remove comma

* Add log for debugging

* Add timeout for running tests

* Remove trailing comma

* Remove debugging log

* Remove unnecessary sleep

* Add nicer handling of test timeout, with logs

* Add better checking for spatial service

* Separate test result directories

* Add stopping and starting of deployments when running automated tests

* Check deployment status before starting deployment

* Update unreal-engine.version

* Update setup-build-test-gdk.ps1

* Make the tests faster, and hopefully report to slack

* Make slack report nicer

* Rename long tests to slow tests

* Compacting test runs to make them faster, more unreliable

* Remove trailing comma...

* Report more logs when failing to run tests

* Increase timeout

* Switch EngineNetTest branch to master

* Try to keep connections from getting garbage collected

* Revert "Try to keep connections from getting garbage collected"

This reverts commit 43e3d477900e838af60915eb09882bc5a6f145fe.

* Use root Object array to keep objects around

* Increase timeout for running tests

* Rename Test Result directories to reflect range of tests

* Include more information for dashboard display

* Apply some more consistent formatting to ps files

* Switch order or GAutomationTesting and spatial networking

* Rename test_project_root to test_project_name

* Add comment about timeout duration for running tests

* Style fixes, move reused strings to variables

* More style fixes

* Update ci/setup-build-test-gdk.ps1

Co-Authored-By: Joshua Huburn <31517089+joshuahuburn@users.noreply.github.com>

Co-authored-by: Victor Buldakov <victor@buldakov.org>
Co-authored-by: Joshua Huburn <31517089+joshuahuburn@users.noreply.github.com>

* UNR-2386: Move load balance settings to ASpatialWorldSettings (#1690)

* Extract CreateAndInitializeLoadBalancer
* Move load balance settings to SpatialWorldSettings

* Change batch position update default to false (#1704)

* Change default to false

* Update CHANGELOG.md

* Replace GetAuthority calls in the code with HasAuthority (#1659)

* Make StaticComponentView::GetAuthority private and convert calls to use HasAuthority. Minor soft handover cleanup driveby.

* Fix contributing docs link (#1712)

* Moved a couple of functions from SpatialNetDriver to SpatialWorkerConnection (#1713)

* Fix problem where PIE sessions sometimes fail to start due to missing schema for SpatialDebugger blueprint (#1697)

* Separate Translator into Translator and TranslationManager (#1709)

Take the code for generation of the translation mapping and put it in the SpatialVirtualWorkerTranslationManager.

* [UNR-2729][MS] Removing unnecessary interest component updates and refactor to InterestFactory (#1707)

* [UNR-2729][MS] Removing the recursing of actor children when updating actor interest.
We now only update the players controller.

* [UNR-2729][MS] Small refactor to InterestFactory. Now sits on the Netdriver.

* My own review feedback

* Better naming

* Changing variable names to InterstFactory and the type to SpatailInterestFactory.
Some other feedback.
Adding in stat capture.

* Revert "Changing variable names to InterstFactory and the type to SpatailInterestFactory."

This reverts commit ac0c4c529b42a17b5ab8f08ba4972e440bcb8023.

* Revert "Better naming"

This reverts commit 34fe713203cde1eddba460277d58c3252b9e370b.

* Revert "Better naming"

This reverts commit 34fe713203cde1eddba460277d58c3252b9e370b.

* [UNR-2729][MS] Adding stat tracking.

* Missed revert.

* Revert componentfactory.cpp

* Feature/unr 2565 spatial debugging component (#1698)

Added a component on Unreal entities which holds information used by the SpatialDebugger. Right now, this only contains load balancing information, but could be expanded in the future to expose other SpatialOS concepts.

* Change FindChecked call by code that would not crash in release (#1720)

* granular result types for non-auth entities (#1714)

* optimistic schema database types

* map of component type sets

* schema generation doesn't crash

* found them!

* nice function

* comments

* re-add the bad qbi

* add feature flag

* silly bug

* flip feature flag back

* changelog

* rename flag

* move release note to bottom

* PR comments

* small thing

* log bug

* colon space

* more comments

* final PR comments hopefully

* flip flag back

* comments

* check no entry

* disable interest overrides (#1727)

* add new flag

* disable dynamic interest

* correct comments

* correct components

* changelog

* offline comments

* Add warning messages (#1700)

* Add warning messages

* Apply suggestions from code review

Co-Authored-By: Laura <36853437+ElleEss@users.noreply.github.com>

* Update SetupIncTraceLibs.bat

Co-authored-by: Laura <36853437+ElleEss@users.noreply.github.com>

* Update SpatialGDK/Source/SpatialGDK/Private/Interop/SpatialClassInfoManager.cpp

Co-Authored-By: Miron Zelina <mironzelina@improbable.io>

* Set ROLE_SimulatedProxy when setting a different authority intent (#1719)

* Update spatiald version (#1701)

* Update spot.version

https://improbable.slack.com/archives/C0KP2A1UM/p1579532135001600

* Update CHANGELOG.md

* reinstate spot version, update spatialD version

* Update CHANGELOG.md

* UNR-2741 - Added stat in LatencyTracer (#1735)

* Initial commit

* Added more stat

* Feature/unr 2751 tracer gameplay events (#1706)

Gameplay tracing events with ability to stash for use later

* [UNR-2696] Resolve pending operations after applying component data (#1723)

* Resolve pending operations after applying component data

* Add release note

* Adding dev auth flow into SpatialNetDriver (#1734)

* adding dev auth config and constants

* updating connection flow in SpatialNetDriver

* enabling dev auth flow in SpatialWorkerConnection

* making locator host optional

* fixing up merge conflicts

* added a todo comment

* Initial tagging and reference of NCD interest (#1639)

* Initial tagging and reference of NCD interest

* Queries with multiple frequencies created

* Merge conflict

* Compile fix

* Fix queries

* Ignore NCD components

* Handle use net owner relevancy flag using NCD components (#1671)

* Resolve merge conflicts

* Reworked with previous interest factory refactor

* Reworked default queries

* Refactor

* Add distance/freq struct

* Add utility functions

* Merge fixups

* PR feedback

* PR feedback

* PR feedback

* Refactor client checkout caching

* Revert change

* Fix frequency distance pair duplication bug

* Utility function refactor

* Update changelog

* Add warning for fractional NCD values

Co-authored-by: Nicolas Colombe <nicolascolombe@improbable.io>

* Change slow test to use latent commands (#1738)

* Change test to use latent commands, in order to avoid blocking the editor's UI

* Bugfix/unr 2795 schema hash fail cooks (#1740)

Fix for schema descriptor hashing in cook builds

* Some work on adding Android support (#1682)

* whitelist Android

* using Unreal's move function

* updating setup scripts

* adding Android into the UnrealGDK build step

* refactoring android build

* updating worker sdk and adding mobile flag

* adding macos check back in

* changelog and updating requiresetup

* getting rid of too many newlines

* Fixed bad add (#1743)

* [UNR-2781][MS] Recursing Player Controller Child UActorInterestComponents for Querys. (#1726)

* [UNR-2781][MS] When creating the interest component for an actor, recursing the children of the actor if the actor is a player controller and add all all child queries.

* Feedback.

* Adding check

* Spelling mistake.

* Feedback from Michael

* Feature/unr 2804 ghost rpcs (#1742)

* remove dependency on acl

* added actual flag rather than just setting

* less interest, flag flip for test

* flip flag back for merge

* beginning fo refactor

* bob the narcisstic terrible builder

* works

* include owner only components

* my own nits

* pr comments

* missed nit

* interest all the way down

* consts for matt

* actual fix

* PR comments

* cargo cult programming

* inentityid

* missed one

* modify queries directly

* Making simulated player flow simpler (#1737)

* making sim player connection flow simpler

* code review

* indenting this time for real

* changelog

* updating RequireSetup to ensure the projects gets rebuilt

* removed Authentication.cs from csproj

* Feature/unr 2734 translation manager testing (#1721)

* Mocked SpatialOSWorkerInterface
* Added interface and mock for dispatching functionality of SpatialReceiver
* Cleaned up and documented the mocks. Added more tests for the translation manager

* Add missing generate call (#1749)

* Feature/unr 2762 latency tracking improvements (#1718)

Embedding the latency keys in more of a transparent way. Plus entity creation tracking if add is the first update

* Extend translator unit tests (#1746)

* Extend translator unit tests

* Unbreak master, my bad lol (#1750)

* Feature/unr 2808 self interest server (#1747)

* always add true constraint to servers

* honest warning

* build result types for server

* new setting

* use result type for general server query

* Add server result types for auth entities

* fix for something probably

* add command line override

* add heart

* release note

* put the heart in the wrong place

* merge flags

* [UNR-2753][MS] General cleaning around auth config flow (#1739)

* adding dev auth config and constants

* updating connection flow in SpatialNetDriver

* enabling dev auth flow in SpatialWorkerConnection

* making locator host optional

* fixing up merge conflicts

* added a todo comment

* Possible changes we want to make to clean up Connection configs.

* Removing virtualness of connection configs.

* Removing config file changes

* Removing more subtle changes to connection configs.

* Spelling error.

* Spelling mistake in spelling mistake fix.

* Noticed that we should also set the locator host of the dev auth flow in SetupConnectionConfigFromURL. We might want to do this using the URL later.

* Feedback.

* Changing the DevAuth flow to only concern itself with the DevAuthConfig.

* Adding Jira ticket.

* Small fix.

* Michael nit

Co-authored-by: jessicafalk <31853332+jessicafalk@users.noreply.github.com>

* Ability to delete initially dormant startup actors (#1748)

* Create a tombstone entity when destroying an initially dormant startup actor.

* Drive by fixes.

* [UNR-2753][MS] Moving DAT settings to editor settings. (#1744)

* [UNR-2753][MS] Moving DAT settings to editor settings.

* [UNR-2753][MS] Adding changelog note

* Feature/UNR-2589 latency tracking (#1717)

These changes add a static function to the existing latency tracing code that allows to easily set the prefixes of trace names. This facilitates the use of the new latency tracing scenario, aa users are expected to specify a trace prefix (because all traces are uploaded to the same project by default). This PR also makes sure that the trace library is fetched and built when the GDK is downloaded during CI.

* Make the Dev Auth Config more configurable (#1741)

* configure player id, display name and metadata via command line

* adding check for locatorhost

* code review

* Default unattended mode in commandlets (#1753)

* Locking gas ability activations (#1730)

* GAS ability activations lock the owner Actor until completion
* Unit tests for expanded locking policy function interface

Co-authored-by: Tilman Schmidt <tilmanschmidt+github@improbable.io>

* adding url options for dev auth flow (#1756)

* MBL-23 Setup.sh does not work on mac system. (#1751)

* MBL-23 Fix an issue that `Engine/Plugins/UnrealGDK/Setup.sh` does't work on MAC system.
======================================
Error log: conditional binary operator expected.
That is caused by `-v` only support bash 4.2 and above.
Modify it to `-n` to check for non-null/non-zero string variable here.

* Execute different logic according to input parameters.

* MBL-18 Add RegisterOnLoginTokensCb function in USpatialWorkerConnection. (#1711)

* MBL-18 Add RegisterOnLoginTokensCb function in USpatialWorkerConnection.
Caller can register a callback function in and execute some custom logic.
In this case caller can list available deployment in UI.

* Fixed component name output (#1757)

* Add more setting logging (#1755)

* Adding a Generate Dev Auth Token Button (#1752)

* adding a button to generate the dev auth token

* add changelog

* PR feedback

* adding message dialog

* UNR-2794 SpatialWorkerConnection on Game Thread (#1736)

* Initial commit

* Added flag to run SpatialWorkerConnection on the main thread

* Added proper checks

* Moved `QueueLatestOpList` to the beginning of `USpatialNetDriver::TickFlush`, `ProcessOutgoingMessages` to the end of `USpatialNetDriver::TickFlush`

* Added CMD support for `SpatialWorkerConnectionOnGameThread` option

* Hid `bRunSpatialWorkerConnectionOnGameThread`, added `Override` prefix for CMD option

* Add spatial output

* Update SpatialGDK/Source/SpatialGDK/Private/SpatialGDKSettings.cpp

Co-authored-by: Michael Samiec <michaelsamiec@improbable.io>

* Remove simulated player zip from runner on startup (#1758)

* Remove simulated player zip from runner on startup

* Update RequireSetup

* Bugfix/fix worker startup race (#1763)

* Create log directory directly

* Remove unused log folder

* Add trailing slash

* [UNR-2714] Force RPC ringbuffer when zoning is enabled (#1759)

* Add accessor for RPCRingBuffer setting

* Gray out RPCSetting when Load balancing is enabled.

* Added missing checks for creating tombstone entiteis. (#1769)

* [UNR-2736] Don't construct shadow data every time when receiving update (#1767)

* Don't construct shadow data every time when receiving update

* Bump engine version

* No need to empty an empty buffer

* Update EngineVersionCheck.h

* Have a more explicit error message when pulling load balancing strategy from world settings (#1766)

* Fix issue with dangling pointer when channel is cleaned up during a component update (#1777)

* Remove unnecessary wrappers from static view storage (#1779)

* MBL-13 Remove hard coded locator url in example project. (#1780)

* MBL-13 Remove hard coded locator url in example project.
* Restructure ReuqestDeploymentLoginTokens logic and export the function to outside so caller can call this API regularly.

* Dup functionality from DataChannel::ReplicateActor (#1770)

* Dup functionality from DataChannel::ReplicateActor

* Update comment

* Fix 422

Co-authored-by: improbable-valentyn <32096431+improbable-valentyn@users.noreply.github.com>

* Bugfix: SpatialPingComponent on non-auth servers (#1705)

SpatialPingComponent should not start pings on non-auth servers.

Co-authored-by: improbable-valentyn <32096431+improbable-valentyn@users.noreply.github.com>

* [UNR-2689][MS] Spatial output log will pop up at the end of PIE sessi… (#1765)

* [UNR-2689][MS] Spatial output log will pop up at the end of PIE session. A setting can be changed to disable this.

* Update to changelog

* Feedback.

* Revert "Feedback."

This reverts commit 7596b788601d8a4cbcb042ead3c383bfee9bf928.

* Revert "[UNR-2689][MS] Spatial output log will pop up at the end of PIE session. A setting can be changed to disable this."

This reverts commit 1c8fda92078aaa1bb68ad1f274b57cc082b977f2.

* Update change log

* Updating change log

* correct components (#1764)

* cleanup

* fix zoning bug

* assumptions all the way down

* fix zoning + ring buffers + result types bug

* nicer bugfix

* out of u and me

* add error and return if the check is passed

* reorder

* ensure

* not really a precondition anymore

* expose colors to blueprints (#1787)

* expose colors to blueprints

* undo unnecessary change

* Feature/unr 2012 fix registering singletons crash (#1781)

* Driveby fix for missing includes.

* Use path names in stead of class pointers as a key for singletons. Remove singeltons from the list when actors are destroyed.

* Move use of the singleton channel map to the gsm entirely.

* Added an error message for deleting singletons on a server.

* Spawn actor entities with component authority based on lb strat if zo… (#1783)

* Spawn actor entities with component authority based on lb strat if zoning enabled

* Adding a mobile settings section (#1771)

* adding mobile settings

* removing old way of pushing command line args to iOS device

* update SpatialGDKEditor.Build.cs

* adding buttons to push mobile settings to device

* PR feedback

* making sure that paths with spaces also work..

* updating changelog

* a few more error checks

* code review

* adding comment about json api

* UNR-322 : Add more profiling coverage (#1784)

* Added more detailed profiling scopes

* Added more profiles

* startup actor begin play authority respects lb strategy (#1768)

* startup actor begin play respects lb strategy

* [UNR-2818] Pin runtime version (#1782)

Add Runtime version pinning to the GDK + settings to control this behaviour
Add additional setting for cloud deployment runtime version, along with UI in the deployment panel.

* Feature/unr 2815 split server to server to server (#1795)

* schema change

* split component

* reverse silly testing things

* release note

* remove ready and all checks

* accidnet

* rename legacy->command

* bug

* remove unnecessary file

* someone made another component

* [UNR-2796] Enhance deployment startup report (#1774)

Report which workers needs to be manually started

* ring buffer split rpc (#1798)

* reset again merge bad

* fix test

* pr commetns

* strange parentheses

* begrudgingly add back the force inlines

* forceinline -> inline

* Fixing the ms build script to work properly with vs2019 (#1800)

Co-authored-by: Michael Samiec <michaelsamiec@improbable.io>

* fixing check in dev auth generation (#1805)

* Worker connection on game thread fix (#1786)

* Fix when running spatial worker connection on the game thread.

* Correcting missing trace data.

* Un commenting...

Co-authored-by: Michael Samiec <michaelsamiec@improbable.io>

* [UNR-2372] Do not reset shadow data for the entire object on every update (#1788)

We previously reset the entire object's shadow data in `USpatialActorChannel::PreReceiveSpatialUpdate`. This was mostly wasted effort. With this change, we only reset the shadow data for the updated property.

This should keep parity with Unreal, as the worrisome scenario was this:
1) Let's say replicated X starts at 1 on both the server and client
2) Client changes X locally to 10
3) Server changes X locally to 10
4) Client receives replicated X from the server, but it's the same as the local value so a RepNotify wouldn't be fired on spatial
It turns out, this RepNotify also won't fire on native, because native copies the current value of the property to the shadow data before receiving the property from the wire.

* Try not resetting shadow data on receive

* Adapt for 4.23

* Update repnotify condition to match native

* Only copy if not resetting shadow data

* Make code more readable

* Remove extra newline

* Missed replace

* Replace incorrect check to initialize shadow data

* Fix indentation

* Bugfix/unr 2891 rpc calls not traced (#1791)

Improved way we handle closing traces with the new begin->continue flow. Fixed a bug where traces were not being continued for RPCs

* fix echo (#1811)

* fix echo

* grammatical consistency

* technically not minimal

* Disable secure connection by default (#1785)

* Add setting for configuring TLS on the worker connection

* Only enable secure connection for clients

* Re-order initlisatioN

* Add secure server connection settings

* Use bConnectAsClient

* Add const

* MBL-32 Fix a crash issue that Unreal Editor will crash when click `Push SpatialOS settings to Android device`. (#1813)

* MBL-32 Fix a crash issue that Unreal Editor will crash when click `Push SpatialOS settings to Android device`.
------------------------------
Convert variable  between THCAR and UTF8 string.

* Fix variable convert issues.

* Augment 0.8.1-preview-rc merge with fixes

Contains additional fixes as suggested by code review when merging the
0.8.1-preview-rc into master.

* Remove overzealous assert (#1821)

* Enable mobile support in worker_sdk when gdk is installed. (#1808)

Pass parameters into Setup.bat from SetupIncTraceLibs.bat.

* Add virtual worker IDs to spatial debugger (#1810)

* Add virtual worker IDs to spatial debugger

* Update GDK for OnOwnerUpdated args engine change (#1824)

* [UNR-2950][MS] Fix when generating schema, we need to delete the old files.

* Adding const

* Cleaned up cmd line options (#1823)

Cleaned up the cmd line option code and added additional arguments which will be useful for testing without needing to branch the project to edit settings

* Remove redundant call (#1820)

* Call Setup.bat from the correct directory (#1818)

If the script is started from a directory different than its own, it fails because it can't find Setup.bat

Co-authored-by: Michael Samiec <michaelsamiec@improbable.io>

* UNR-2926 Fix lock icon on spatial debugger (#1809)

* Make locking icon work on spatial debugger

* Updating based on feedback.

* Untested but adding in the creation of the directory if it doesn't exist or has been deleted.

* [UNR-2823] Basic ownership actor set locking (#1790)

* Ownership-based actor set …
* merge

* MBL-18 Add RegisterOnLoginTokensCb function in USpatialWorkerConnection. (#1711)

* MBL-18 Add RegisterOnLoginTokensCb function in USpatialWorkerConnection.
Caller can register a callback function in and execute some custom logic.
In this case caller can list available deployment in UI.

# Conflicts:
#	SpatialGDK/Source/SpatialGDK/Private/Interop/Connection/SpatialWorkerConnection.cpp
#	SpatialGDK/Source/SpatialGDK/Public/Interop/Connection/SpatialWorkerConnection.h

* Additional changes to make the code work in the release.

* Revert "Additional changes to make the code work in the release."

This reverts commit 2b9e055.

Co-authored-by: wangxin <raymonwang@improbable.io>
…ed to the jira issue. (#1864)

* [CHINF-886][MS] Fixing a crash caused by the merge into release related to the jira issue.

* Spelling mistake
* Update CHANGELOG.md

* Update CHANGELOG.md
* [UNR-3041][MS] Addin 14.3 into GDK

* Swapping compression to downstream.

* Adding comments back
…h timeout (#1873)

* Fix the Start deployment button being greyed out after auth timeout

* Add release note

* Reset the variable regardless of auth success

* Update CHANGELOG.md

Co-Authored-By: Oliver Balaam <oliverbalaam@improbable.io>

Co-authored-by: Oliver Balaam <oliverbalaam@improbable.io>
…loyment (#1891)

* [UNR-3064][MS] catching this exception and printing error.

* [UNR-3062][MS] Fixing local deployment manager auth to west issue.

* Revert "[UNR-3064][MS] catching this exception and printing error."

This reverts commit 8cb0f5b.
* [UNR-3064][MS] catching this exception and printing error.

* [UNR-3064][MS] Extra logging.
…locator. (#1886)

* [UNR-3064][MS] catching this exception and printing error.

* [UNR-3055][MS] Adding idea of region to simplayer connection to choose correct locator host.

* Revert "[UNR-3064][MS] catching this exception and printing error."

This reverts commit 8cb0f5b.
* [UNR-3064][MS] catching this exception and printing error.

* [UNR-3071][MS] Update Setup.bat to work with Worker SDK 14.5

* [UNR-3071][MS] Updating changelog and updating Worker SDK version.
@improbable-prow-robot improbable-prow-robot added jira/no-ticket Indicates a PR has no corresponding JIRA ticket size/XXL Denotes a PR that changes 600+ lines, ignoring generated files. labels Mar 16, 2020
* Update links to new docs site + readme cleanup

* correct docs URL

* recommneded use only once

* update recommended use

Co-authored-by: Ernest Oppetit <ernopp@users.noreply.github.com>
CHANGELOG.md Outdated Show resolved Hide resolved
Copy link
Collaborator

@m-samiec m-samiec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 nits - looks good

… (#1908)

* Create log directory if it doesn't exist for the spatial output

* Update SpatialGDK/Source/SpatialGDKServices/Private/SSpatialOutputLog.cpp

Co-Authored-By: Michael Samiec <michaelsamiec@improbable.io>

Co-authored-by: Michael Samiec <michaelsamiec@improbable.io>

Co-authored-by: Joshua Huburn <31517089+joshuahuburn@users.noreply.github.com>
Co-authored-by: Michael Samiec <michaelsamiec@improbable.io>
This was referenced Mar 16, 2020
oblm and others added 2 commits March 16, 2020 16:48
Co-authored-by: Michael Samiec <michaelsamiec@improbable.io>
@oblm oblm merged commit 5cab08d into preview Mar 17, 2020
@oblm oblm deleted the 0.8.1-preview-rc branch April 30, 2020 10:43
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
jira/no-ticket Indicates a PR has no corresponding JIRA ticket size/XXL Denotes a PR that changes 600+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants