SpatialOS GDK for Unreal Plugin
Unreal GDK version 0.14.1 has been released!
Follow these steps to upgrade your GDK, Engine fork and Example Project to the latest release.
You can read the full release notes here or below.
Join the community on our forums, or on Discord.
Happy developing,
The GDK team
The release notes are published in both English and Chinese. To view the Chinese version, scroll down a bit for details. Thanks!
Release notes 将同时提供中英文。要浏览中文版本,向下滚动页面查看详情。感谢!
Unreal GDK version 0.14.0 has been released!
Handover
variable specifier has been deprecated. It should be replaced with the standard Replicated
variable specifier and restricting the replication with the new COND_ServerOnly
replication condition in GetLifetimeReplicatedProps
. Handover
variables will try to replicate using the new replication condition, but support will be removed in the next release.bUseNetOwnerActorGroup
actor setting has been removed with the default behavior now true inside LayeredLBStrategy. Extend this class if you wish to alter this default behavior.StopInsights
command to SpatialExecServerCmd
, which takes no additional parameters and disables any Insight capturing on the target worker
StartInsights
command args - trace
-> channel
and tracefile
-> file
AActor::SetAutonomousProxy
has been fixed, where actors that were manually set as AutonomousProxy
could get downgraded to SimulatedProxy
. The functions SetAutonomousProxyOnAuthority
and IsAutonomousProxyOnAuthority
have been added to USpatialActorChannel, along with a change to ActorSystem::HandleActorAuthority
which will upgrade an actor's role from SimulatedProxy
to AutonomousProxy
if the actor gains Authority when IsAutonomousProxyOnAuthority
is true.Spatial World Settings
so that the file path is relative to the game directory.UnrealGDK/Setup.sh
to report sed: can't read : No such file or directory
when run on macOS.localhost:5006/snapshot
works again and creates a snapshot.SetReplicates
on an actor over which it did not have authority. This was causing warnings to be triggered. We've fixed this by reverting the actor's role at the end of the test, so that the actor is not left in an unexpected state.Follow these steps to upgrade your GDK, Engine fork and Example Project to the latest release.
You can read the full release notes here or below.
Join the community on our forums, or on Discord.
Happy developing,
The GDK team
The release notes are published in both English and Chinese. To view the Chinese version, scroll down a bit for details. Thanks!
Release notes
虚幻引擎开发套件 0.13.1 版本说明:
为您提供中英文版本。如需直接查看中文文档,请向下滑动页面至“中文版”。感谢您的关注!
We have released Unreal GDK version 0.13.1!
The GDK for Unreal 0.13.1 is an internal release. There are some differences with an internal release compared to a public release:
The default branch stays as a tag (0.11.0) which points open platform customers to the latest public release, as opposed to the latest internal release which is 0.13.1.
This release introduces the following:
SpatialExecServerCmd
console command with one command StartInsights
to dynamically enable insights capturing.SpatialExecServerCmd < server > < command > < args >
"SpatialExecServerCmd local StartInsights -trace=CustomChannel -tracefile=MyNewTrace"
bEnableEventTracingRotatingLogs
, EventTracingRotatingLogsMaxFileSizeBytes
and EventTracingRotatingLogsMaxFileCount
).UEventTracingSamplingSettings
).虚幻引擎开发套件 0.13.1 属于内部发布版本。相较于公开发布版本,内部版本在以下方面有所区别:
默认分支保留“0.11.0”标签,将开放平台用户引导至最新的公开发布版本 (即“0.11.0”),而不是最新的内部发布版本 (即“0.13.1”)。
该版本包含下列内容:
SpatialExecServerCmd
控制台命令,只需一个命令 StartInsights
即可动态启动虚幻引擎应用性能分析工具 (Unreal Insights) 开始信息捕捉。SpatialExecServerCmd < server > < command > < args >
"SpatialExecServerCmd local StartInsights -trace=CustomChannel -tracefile=MyNewTrace"
bEnableEventTracingRotatingLogs
、EventTracingRotatingLogsMaxFileSizeBytes
和 EventTracingRotatingLogsMaxFileCount
来实现。UEventTracingSamplingSettings
来配置。The release notes are published in both English and Chinese. To view the Chinese version, scroll down a bit for details. Thanks!
Release notes
虚幻引擎开发套件 0.13.0 版本说明:
为您提供中英文版本。如需直接查看中文文档,请向下滑动页面至“中文版”。感谢您的关注!
We have released Unreal GDK version 0.13.0!
The GDK for Unreal 0.13.0 is an internal release. There are some differences with an internal release compared to a public release:
The default branch stays as a tag (0.11.0) which points open platform customers to the latest public release, as opposed to the latest internal release which is 0.13.0.
Major changes include:
A full list of changes can be found in the changelog.
虚幻引擎开发套件 0.13.0 属于内部发布版本。相较于公开发布版本,内部版本在以下方面有所区别:
默认分支保留“0.11.0”标签,将开放平台用户引导至最新的公开发布版本 (即“0.11.0”),而不是最新的内部发布版本 (即“0.13.0”)。
主要变化包括:
想了解完整的变化信息列表,请参见 更新日志。
Unreal GDK version 0.12.0 has been released!
The GDK for Unreal 0.12.0 is an internal component release. The differences between this internal release and a public component release are:
This release includes:
See the changelog for full details.
WARNING: If you are an existing customer on the release GDK branch, and you use ‘git pull’, you will upgrade to 0.12.0. If you do not want this, switch to the 0.11.0 tag branch.
Follow these steps to upgrade your GDK, Engine fork and Example Project to the latest release.
“虚幻引擎开发套件 0.12.0”是一次内部组件发布版本。相比公开组件版本,内部组件版本在以下方面有所区别:
本次版本发布包括:
更多信息,请参见 更新日志。
重要信息:如果您是发布版 GDK 分支 (release GDK branch) 的当前用户,且使用 “git pull”,那么您将升级至版本 0.12.0。如果您需要其他版本,可切换至较新的 0.11.0 标签分支。
如何升级版本?请点击此处,按照步骤将您的开发套件 GDK、引擎分支和示例项目升级到最新发布版本。
Follow these steps to upgrade your GDK, Engine fork and Example Project to the latest release.
You can read the full release notes here or below.
Join the community on our forums, or on Discord.
Happy developing,
The GDK team
PositionUpdateFrequency
and PositionDistanceThreshold
have now been removed from the GDK settings. To update your project:
PositionUpdateLowerThresholdCentimeters
to the value of PositionDistanceThreshold
and the value of PositionUpdateLowerThresholdSeconds
to 60*(1/PositionUpdateFrequency
). This makes sure that Actors send Spatial position updates as often as they did before this change.PositionUpdateThresholdMaxCentimeters
and PositionUpdateThresholdMaxSeconds
to larger values than the lower thresholds.
NOTE: If your project does not use custom values for the PositionUpdateFrequency
or PositionDistanceThreshold
then, by default, the updates will be sent with the same frequency as before and no action is required.OnAuthorityLossImminent
Actor event.FOnWorkerFlagsUpdatedBP
has been renamed FOnAnyWorkerFlagUpdatedBP
,FOnWorkerFlagsUpdated
has been renamed FOnAnyWorkerFlagUpdated
,BindToOnWorkerFlagsUpdated
has been renamed to RegisterAnyFlagUpdatedCallback
UnbindFromOnWorkerFlagsUpdated
has been renamed to UnregisterAnyFlagUpdatedCallback
-DeleteExistingGeneratedSchema
flag.-AdditionalSchemaCompilerArguments="--bundle_out=..."
will result in the bundle being written to both the default location (build/assembly/schema/schema.sb
) and the location specified by the additional arguments.PositionDistanceThreshold
centimeters. This change allows for Spatial position updates to be sent if any of the following is true:
PositionUpdateLowerThresholdSeconds
AND the distance travelled since the last update is greater than or equal to PositionUpdateLowerThresholdCentimeters
.PositionUpdateThresholdMaxSeconds
AND the Actor has moved a non-zero amount.PositionUpdateThresholdMaxCentimeters
.OnActorReady
bindable callback triggered when SpatialOS entity data is first received after creating an entity corresponding to an Actor. This event indicates you can safely refer to the entity without risk of inconsistent state after worker crashes or snapshot restarts.TargetType.Client
(<ProjectName>.Target.cs
). This target is automatically built with arguments -client -noserver
passed to UAT when building from the editor. If you use the GDK build script or executable manually, you need to pass -client -noserver
when building this target (for example, BuildWorker.bat GDKShooter Win64 Development GDKShooter.uproject -client -noserver
).USpatialMultiWorkerSettings
class from command line. Specify a SoftClassPath
via -OverrideMultiWorkerSettingsClass=MultiWorkerSettingsClassName
.Editor Multi Worker Settings Class
in the World Settings
to specify the in-editor load balancing strategy. If it is not specified, the existing Multi Worker Settings Class
defines both the local and cloud load balancing strategy.BroadcastNetworkFailure
with type OutdatedClient
on client schema hash mismatch with server. Add your own callback to GEngine->NetworkFailureEvent
to add custom behaviour for outdated clients attempting to join.Spatial Editor Debugger
from the drop-down menu on the Start Deployment
button on the toolbar to toggle the visibility of the worker boundaries on and off in-editor.bUseSpatialView
property by default and added the --OverrideUseSpatialView
flag.?locatorPort=
URL option when performing client travel.Enable Multi-Worker
from the drop-down menu on the Start Deployment
button on the toolbar to use the multi-worker strategy or de-select to use a single worker strategy in the editor. The Enable Multi-Worker
toggle in World Settings and the command line option -OverrideMultiWorker
have been removed as they are now redundant.RequiresHandoverData
Start Select Actor(s)
button. Hover over an actor with the mouse to highlight and right-click (by default) to select. You can select multiple actors. To deselect an actor right-click on it a second time. If there are multiple actors under the cursor use the mouse wheel (by default) to highlight the desired actor then right-click to confirm your selection.BindToOnWorkerFlagsUpdated
is changed to RegisterAnyFlagUpdatedCallback
to better differentiate it from the newly added functions for register callbacks.RegisterFlagUpdatedCallback
is added to register callbacks for individual flag updatesRegisterAndInvokeAnyFlagUpdatedCallback
& RegisterAndInvokeFlagUpdatedCallback
variants are added that will invoke the callback if the flag was previously set.<GameProject>\Game\Intermediate\Improbable\<MapName>_LocalLaunchConfig.json
.<GameProject>\Game\Intermediate\Improbable\<MapName>_CloudLaunchConfig.json
.yyyy.mm.dd-hh.mm.ss
. Example log path: <GameProject>\spatial\logs\localdeployment\2020.12.02-14.13.39
<GameProject>\spatial\snapshots\<yyyy.mm.dd-hh.mm.ss>\snapshot_<n>.snapshot
Inspector Version Override
GameMode::PreLogin
returns with a non-empty error message.Handover
tag to APlayerController::LastSpectatorSyncLocation
and APlayerController::LastSpectatorSyncRotation
in order to fix a character spawning issue for players starting in the Spectating
state when using zoning.bHidden
relevancy flag. Clients will not checkout Actors that have bHidden
set to true (unless they are always relevant or the root component has collisions enabled).too many dynamic subobjects
error on Clients appearing when a Startup Actor, with one dynamic subobject was leaving and re-entering interest multiple times. Added the RemovedDynamicSubobjectObjectRefs
map in USpatialPackageMapClient
that keeps the dynamic subobjects removed from Startup Actor's client's interest to avoid duplication of the dynamic subojects when the Startup Actor re-enters the Client's interest.Worker_ComponentData
.APlayerStart
actor is not resolvable on the target worker.*.worker.json
files are changed.Flags
and LegacyFlags
fields of the SpatialGDKEditorSettings
.UGeneralProjectSettings::bSpatialNetworking
is disabled.The release notes are published in both English and Chinese. To view the Chinese version, scroll down a bit for details. Thanks!
版本发布说明 (Release notes) 将同时提供中英文版本。如需浏览中文版本,请向下滚动页面查看详情。感谢!
We have released Unreal GDK version 0.11.0!
This release introduces:
This release also includes a number of new features and bug fixes which are listed here in the changelog.
Please see the breaking changes in this release here.
The corresponding Engine versions are:
4.25-SpatialOSUnrealGDK-0.11.0 (primary UE version)
4.24-SpatialOSUnrealGDK-0.11.0 (legacy UE version)
The corresponding Example Project version is: 0.11.0.
Follow these steps to upgrade your GDK, Engine fork and Example Project to the latest release.
Happy developing,
The GDK team
亮点介绍:
本次版本发布还包括一系列新功能介绍和问题修复说明,详情参见 更新日志。
请 点此 浏览本次版本发布中的重大变更。
相应 引擎 版本为:
4.25-SpatialOSUnrealGDK-0.11.0 (主要 UE 版本)
4.24-SpatialOSUnrealGDK-0.11.0 (历史 UE 版本)
相应 示例项目 版本为: 0.11.0
请按照 这些步骤 进行操作,将您的 GDK、引擎分支和示例项目升级为最新版本。
祝开发愉快!
GDK 团队
The release notes are published in both English and Chinese. To view the Chinese version, scroll down a bit for details. Thanks!
Release notes 将同时提供中英文。要浏览中文版本,向下滚动页面查看详情。感谢!
We have released Unreal GDK version 0.10.0!
We have made significant performance improvements to the GDK to reduce latency, egress and CPU use.
We have also introduced a new SpatialOS Runtime variant called Standard, which is now the default Runtime for the GDK. You can change back to the Compatibility Mode Runtime variant if you need to.
Android and iOS are now in preview. We support workflows for developing and doing in-studio playtests on Android and iOS devices, and have documentation for these workflows. We also support macOS (also in preview) for developing and testing iOS game clients. We’d love to hear your feedback on this!
Start Deployment
button in the Cloud Deployment Configuration
dialog box now generates schema and a snapshot, builds all selected workers, and uploads the assembly before starting the deployment.Cloud Deployment Configuration
dialog box you can generate a launch configuration file from the current map, or you can click through to the Launch Configuration Editor
.CookAndGenerateSchema
commandlet, which results in faster and more stable schema generation for big projects.…and much more! For the full details on what’s new in this release, including bug fixes, see the 0.10.0 changelog.
If you're using the Standard Runtime variant, there are several compatibility issues. For more information, see the changelog.
Please see the full list of known issues in this release here.
The corresponding Engine versions are: 4.24-SpatialOSUnrealGDK-0.10.0 (primary UE version) 4.23-SpatialOSUnrealGDK-0.10.0 (legacy UE version)
The corresponding Example Project version is: 0.10.0
Follow these steps to upgrade your GDK, Engine fork and Example Project to the latest release.
Happy developing,
The GDK team
我们对 GDK 进行了重大的性能改进,以减少延迟、出口流量和 CPU 使用。
我们还引入了新的 SpatialOS 运行时变体,称为 “标准体” (Standard),这是 GDK 的默认运行时。如有需要,您可以将其改回 “兼容模式” (Compatibility Mode) 运行时变体。
Android 和 iOS 现处于 预览中。我们支持在 Android 和 iOS 设备上进行游戏开发和工作室内测试的工作流,并提供工作流的相关文档。我们还支持在 macOS (也在预览中) 计算机上开发和测试 iOS 游戏客户端。我们非常愿意聆听您的反馈意见!
Cloud Deployment Configuration
对话框中的 Start Deployment
按钮生成结构描述 (schema) 和快照,并且在部署启动前构建所有选定的 worker 和上传程序集。Cloud Deployment Configuration
对话框中,您可以从当前地图生成启动配置文件,或是点击打开 Launch Configuration editor
。CookAndGenerateSchema
命令行开关,这样可以为大型项目更迅速、更稳定地生成结构描述。除此之外,还有更多其他内容!要了解此版本中新功能的详情,包括问题修复,查看 0.10.0 更新日志。
如果您正在使用运行时的标准体,需要注意一些兼容问题。具体内容,查看 更新日志。
点击 此处 查看完整的已知问题列表。
相应的引擎版本为: 4.24-SpatialOSUnrealGDK-0.10.0 (主要 UE 版本) 4.23-SpatialOSUnrealGDK-0.10.0 (历史 UE 版本)
相应的示例项目版本为: 0.10.0
按照 以下步骤 将 GDK、引擎分支和示例项目升级到最新版本。
祝编程愉快,
GDK 团队
The release notes are published in both English and Chinese. To view the Chinese version, scroll down a bit for details. Thanks!
Release notes 将同时提供中英文。要浏览中文版本,向下滚动页面查看详情。感谢!
Unreal GDK version 0.9.0 is go!
Multiserver offloading is external-playtest-ready: we have improved the stability and performance of offloading and validated it in a public playtest of partner Midwinter Entertainment’s game Scavengers. Midwinter uses offloading to increase the AI count in the game, beyond what they could achieve with the native Unreal single server.
Improved performance: driven by Scavengers and other partner games, we have made significant performance improvements to the GDK to reduce latency, egress and CPU use. These improvements are available as new default settings in the GDK where possible.
UE 4.24 support: 4.24 is now fully supported, and 4.23 support is maintained as legacy to enable teams to upgrade.
For the full details on what’s new in this release, see the 0.9.0 changelog.
The corresponding Engine versions are: 4.24-SpatialOSUnrealGDK-0.9.0 (primary UE version) 4.23-SpatialOSUnrealGDK-0.9.0 (legacy UE version)
The corresponding ExampleProject version is: 0.9.0
Follow these steps to upgrade your GDK, Engine fork and Example Project to the latest release. Happy developing,
The GDK team
多服务器负载拆分可用于公开测试:我们提高了负载拆分的稳定性和性能,并在合作伙伴 Midwinter Entertainment 的游戏《Scavengers》的公开测试中对其进行了验证。 Midwinter 使用负载拆分功能增加了游戏中的 AI 数量,这超出了使用原生虚幻引擎单一服务器所能实现的结果。
性能提优:在《Scavengers》和其他合作伙伴游戏的推动下,我们对 GDK 性能进行了大幅优化,以减少延迟、出口流量和 CPU 使用。这些优化在 GDK 中作为新的默认设置提供。
UE 4.24 支持:现已完全支持 4.24 版本,并保留 4.23 版本支持作为旧版本以供开发团队升级。
有关此版本中新功能的完整详细信息,查看 0.9.0 更新日志。
升级
相应的引擎版本为: 4.24-SpatialOSUnrealGDK-0.9.0 (主要 UE 版本) 4.23-SpatialOSUnrealGDK-0.9.0 (历史 UE 版本)
相应的示例项目版本为: 0.9.0
按照 以下步骤 将 GDK、引擎分支和示例项目升级到最新版本。 祝编程愉快,
GDK 团队
Unreal GDK version 0.8.1 is go!
Follow these steps to upgrade your GDK, Engine fork and Example Project to the latest release.
You can read the full release notes here.
Happy developing!
GDK team
Unreal GDK version 0.8.1-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.
Follow these steps to upgrade your GDK, Engine fork and Example Project to the latest release.
You can read the full release notes here.
Happy developing!
GDK team