Changelog
All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[1.12.5] - 2024-04-02
Added
- Apple privacy manifest file (PrivacyInfo.xcprivacy)
Fixed
- Fixed an issue with the optional
FEATURE_SERVICES_INSTANCESpreprocessor define.
[1.12.4] - 2024-02-29
Fixed
- Fixed a bug where the project linking popup window would appear on Editor start after reimporting packages, even if the user's project was linked.
- Fixed issue with .NET Standard target.
[1.12.2] - 2024-01-10
Added
- Added support to -no-cloud-project-bind-popup flag, to prevent the popup from showing.
Fixed
- The Environment Selector no longer throws exceptions when there is no network connection, instead it displays a different offline UI
[1.12.1] - 2023-11-16
Changed
- Rolling back interface constraint in service registry due to unforeseen breaking change with transitive dependencies.
[1.12.0] - 2023-10-20
Added
- Added service registry and new package initialization interface for enabling instances and editor-time services.
Fixed
- Resolved issue with
IAccessTokensreaching rate limit.
[1.11.0] - 2023-07-31
Added
- Adding
IServerAccessTokenandIServerEnvironmentIdcomponents for packages that want to support running operations in the context of a server. - Adding
IAccessTokenObservercomponent for packages to be notified of changes to theIAccessTokenvalue.
Fixed
- Implement JsonConverters to prevent NotImplementedException when converters are invoked by reflection
[1.10.2-pre.2] - 2023-06-14
Added
- Added support for the environments UI to Unity Editor 2020.3
[1.10.1] - 2023-05-31
Added
- The
IAnalyticsUserIdcomponent to provide a way to obtain the user ID that the analytics SDK is currently recording events against. - Added new environment selector in Project Settings > Services > Environments.
- Added new environment api to allow services to use a single access point for the current environment.
[1.9.0] - 2023-05-09
Added
- New common error codes
ProjectPolicyAccessDeniedandPlayerPolicyAccessDenied.
Changed
- Newtonsoft (de)serialization calls to be thread safe.
- Bumped Newtonsoft dependency to 3.2.1 to use the latest stable version.
[1.8.2] - 2023-04-04
Fixed
- Newtonsoft usage isn't impacted by changes to
JsonConvert.DefaultSettingsanymore.
[1.8.1] - 2023-03-01
Added
- The
IAnalyticsStandardEventComponentcomponent to provide a way to record analytics standard events from any package.
Changed
- Package's license to refresh legal links.
[1.7.1] - 2023-01-30
Changed
- Improved assembly filtering when generating the link file to only link assemblies providing a
IServiceComponent.
Fixed
ActionSchedulerdoesn't generate GC allocation (used to be 40 bytes) each frame anymore.- Failed telemetry request no longer log errors when they fail, unless
ENABLE_UNITY_SERVICES_CORE_TELEMETRY_LOGGINGis enabled as scripting define. - All
ActionSchedulerregistered during play mode are now properly unregistered when exiting playmode.
Added
- A link.xml generator to make sure all required service assemblies are properly preserved in build with code stripping enabled.
[1.7.0] - 2022-11-25
Fixed
- Improved thread safety for scheduler component.
IActionScheduleris now safely callable from any thread. - Improved thread safety for telemetry components.
IMetricsandIDisagnosticsare now safely callable from any thread.
Changed
- Editor
AccessTokensnow caches the Gateway JWT per session and refreshes it as needed. It can now be used directly without needing to cache the results.
[1.6.0] - 2022-10-31
Changed
- Services configuration file isn't temporarily added to the StreamingAssets folder during builds on Unity 2021.3 and up.
- Services initialization without a linked project id will fail (throw
UnityProjectNotLinkedException).
Fixed
- Persisting telemetry no longer logs errors, unless
ENABLE_UNITY_SERVICES_CORE_TELEMETRY_LOGGINGis enabled as scripting define. Diagnostics are sent when persisting telemetry produces an error.
[1.5.2] - 2022-10-17
Fixed
- Core will no longer fail initialization when it fails to find a stripped service package.
[1.5.1] - 2022-10-06
Added
UnityServices.ExternalUserIdwhich can be used to pass a user identifier from a third party provider to Unity Gaming Services
Fixed
- Services Core failing to find all
IInitializablePackageif an unity package implements it multiple times.
[1.5.0] - 2022-10-03
Added
- All
IInitializablePackageinitialization time is now measured by Services Core.
Changed
CoreRegistryInitializernow throws aServicesInitializationExceptioninstead of an explicitNullReferenceExceptionwhen the dependency tree is null.- ActionScheduler updated to be thread safe
Fixed
- A case where null configuration values were causing serialization issues
- Issue with stripping when authentication APIs are not used.
[1.4.3] - 2022-07-28
Fixed
- Added diagnostic message length limit and telemetry count limit, so telemetry payload will not be rejected by telemetry service.
Changed
- Telemetry logs now use the
ENABLE_UNITY_SERVICES_CORE_TELEMETRY_LOGGINGdefine instead ofENABLE_UNITY_SERVICES_CORE_VERBOSE_LOGGING.
[1.4.2] - 2022-06-16
Changed
- Log error instead of warning when core initialize with no cloud project id
Added
- Log a JSON containing the common configuration shared among all services for debugging purposes when
using
ENABLE_UNITY_SERVICES_CORE_VERBOSE_LOGGINGas a scripting define. - Log warning when building a project with core package included and without linking the project in project settings.
Fixed
- NullReferenceException while telemetry was provided an empty file, fixed by introducing a null check
- DirectoryNotFoundException happened inconsistently on Switch, fixed by resolving racing condition issue
[1.4.2-pre.2] - 2022-05-27
Fixed
- NSUserDefaults handling null values
[1.4.1] - 2022-05-20
Added
- Log warning when core initialize with no cloud project id
- Add a message in "Link your unity project" popup to inform the user has to sign-up
[1.4.0] - 2022-04-29
Added
- Add Vivox public interfaces:
IVivox,IVivoxTokenProviderInternal, to enable interactions with the Vivox service.
[1.3.2] - 2022-04-14
Fixed
- Crash on Switch when initializing telemetry persistence. Now telemetry won't persist anything on Switch.
- NullReferenceException while linking the project
- Issue with user roles and service flags
[1.3.1] - 2022-03-29
Changed
- Newtonsoft package dependency update to 3.0.2.
[1.3.0] - 2022-03-21
Added
- Add QoS public interface:
IQosResultsand return typeQosResult, to provide QoS functionality to other packages
Fixed
- Code stripping when core package is not used
- Retrying to initialize all services after a first attempt failed.
[1.2.0] - 2022-02-23
Added
- Add Wire public interfaces:
IWire,IChannel,IChannelTokenProvider, and their dependencies, to enable interactions with the Wire service. - The
IUnityThreadUtilscomponent to simplify working with the Unity thread.
Changed
- Newtonsoft dependency to use the latest major Newtonsoft version, 13.0.1.
[1.1.0-pre.69] - 2022-02-17
Added
- Add
IEnvironmentIdcomponent to provide the environment ID from the Access Token to other packages OrganizationProvider&IOrganizationHandlerto enable package developers to access Organization Key.
[1.1.0-pre.41] - 2021-12-08
Added
IDiagnosticsFactorycomponent &IDiagnosticsto enable package developers to send diagnostics for their package.- Add
AnalyticsOptionsExtensionswithSetAnalyticsUserId(string identifier)to set a custom analytics user id. IMetricsFactorycomponent &IMetricsto enable package developers to send metrics for their package.
Fixed
- Calling
UnityServices.InitializeAsync(null)throwing a null reference exception.
[1.1.0-pre.11] - 2021-10-25
Added
- Getter methods for
ConfigurationBuilder.
Fixed
- Fix layout for Project Bind Redirect Popup for Light theme
[1.1.0-pre.10] - 2021-10-08
Added
IActionSchedulercomponent to schedule actions at runtime.ICloudProjectIdcomponent to access cloudProjectId.
Removed
- Removed the Service Activation Popup
Fixed
- Fix define check bug on Android and WebGL
[1.1.0-pre.9] - 2021-09-24
Added
- New common error codes:
ApiMissing,RequestRejected,NotFound,InvalidRequest. - Link project pop-up dialog
Fixed
- Core registry throwing exceptions when domain reloads are disabled
[1.1.0-pre.8] - 2021-08-06
Added
- Added base exception type for other Operate SDKs to derive from. Consistent error handling experience.
[1.1.0-pre.7] - 2021-08-06
Added
UnityServicesclass at runtime. It is the entry point to initialize unity services withInitializeAsync()orInitializeAsync(InitializationOptions).InitializationOptionsto enable services initialization customization through code.IInstallationIdcomponent to access the Unity Installation Identifier.IEnvironmentscomponent to get the environment currently used by services.SetEnvironmentNameinitialization option to set the environment services should use.- MiniJson.
IProjectConfigurationcomponent to access services settings at runtime.IConfigurationProviderto provide configuration values that need to be available at runtime.
[1.0.1] - 2021-06-28
Added
- DevEx integration into the editor.
- Service Activation popup.