Releases: needle-mirror/com.unity.services.cloudsave
Releases · needle-mirror/com.unity.services.cloudsave
3.2.2
3.2.1
[3.2.1] - 2024-11-15
Changed
- Updated the minimum supported Editor version to 2021.3.
- Updated Apple Privacy Manifest
3.2.0
[3.2.0] - 2024-04-03
Changed
- Updated Apple Privacy Manifest
Added
- Support for sampling in public player data and public custom data queries.
3.1.1
[3.1.1] - 2024-02-08
- Added Apple Privacy Manifest
3.1.0
[3.1.0] - 2023-11-23
Changed
- The existing
CloudSaveService.Instance.Data.Player.DeleteAsync
has been marked as Obsolete, with a new version added that accepts options of typeCloudSave.Models.Data.Player.DeleteOptions
instead ofCloudSave.DeleteOptions
.
This enables the addition of new options to support Access Classes (see below in Added).
Added
-
Support for Access Classes when interacting with Player Data, via the addition of optional
options
objects to existing methods in theCloudSaveService.Instance.Data.Player
API.
For more information on Access Classes, please refer to the documentation.- Allows players to save data to the Public Access Class in addition to the existing Default, which allows saved data to be visible to other players.
- Allows players to read data from Public and Protected Access Classes in addition to the existing Default, where Protected Player Data can only be set by a server authoritative source (e.g. Cloud Code)
- Allows players to read other players' Public Player Data, by providing their Player ID as part of the new
options
object.
-
Support for Querying in both Public Player Data and Default Custom Data, via the new
QueryAsync
method.
For more information on Querying, please refer to the documentation.- Any data for which an index is configured can be queried by specifying filters on the indexed data (e.g. clanMemberCount < 20)
- Any data stored for the returned entities (whether indexed or not) can be retrieved as part of the query response by specifying
ReturnKeys
in theQuery
object.
3.0.0
[3.0.0] - 2023-07-25
Changed
- All existing methods have been marked as obsolete. They have mostly been replicated in new namespaces with some additional changes:
- Methods in the namespace
CloudSaveService.Instance.Files
have been replicated in the namespaceCloudSaveService.Instance.Files.Player
without additional changes. - Methods in the namespace
CloudSaveService.Instance.Data
have been replicated in the namespaceCloudSaveService.Instance.Data.Player
with some additional changes:RetrieveAllKeysAsync
has been renamed toListAllKeysAsync
and now returns aTask<List<ItemKey>>
whereItemKey
includes additional metadata alongside the key: The write lock value, and modified date-time.LoadAsync
andLoadAllAsync
now return aTask<Dictionary<string, Item>>
, whereItem
includes additional metadata alongside the value: The write lock value, modified date-time, and created date-time.ForceSaveAsync
has been removed in favour ofSaveAsync(IDictionary<string, object> data)
, orSaveAsync(IDictionary<string, SaveItem> data)
without specifying the write lock on theSaveItem
.ForceDeleteAsync
has been removed in favour ofDeleteAsync
without specifying the write lock option.
- Methods in the namespace
Added
- Support for reading data from custom IDs stored with Game State for Cloud Save Data. This data is read-only from the SDK and the following methods are available from the namespace
CloudSaveService.Instance.Data.Custom.*
ListAllKeysAsync
will list all keys for a given custom data ID with their metadataLoadAsync
will load the data for the specified keys for a given custom data IDLoadAllAsync
will load all the data for a given custom data ID
- Support for reading and enforcing write locks on player data writes:
- Added
SaveAsync(IDictionary<string, SaveItem> data)
which will fail for the given item if the supplied write lock on theSaveItem
does not match the server state SaveAsync
returns aDictionary<string, string>
with the saved keys and their updated write locks- Added
DeleteAsync
with an optionalDeleteOptions
parameter which will fail if the specified write lock option does not match the server state
- Added
2.2.1
[2.2.1] - 2023-04-27
- Cloud Save Files support, including write lock support for all appropriate methods.
- ListAllAsync lists all files belonging to the signed in player with metadata
- GetMetadataAsync returns the metadata for a given file
- SaveAsync will upload a given file to Cloud Save Files storage for the player, supports either a Stream or a byte[]
- LoadStreamAsync will download a given file from Cloud Save Files storage for the player, and returns a Stream object containing the file data
- LoadBytesAsync will download a given file from Cloud Save Files storage for the player, and returns a byte[] object containing the file data
2.0.1
[2.0.1] - 2022-06-10
- Added missing XmlDoc to public ICloudSaveDataClient interface and CloudSaveService static class.
2.0.0
[2.0.0] - 2022-05-12
- The Cloud Save SDK is no longer pre-release!
2.0.0-pre.2
[2.0.0-pre.2] - 2022-05-06
- Breaking Change: Code in the
Unity.Services.CloudSave.Editor.Settings
namespace has been made internal as it was never meant to be public. - Updated dependencies.
[2.0.0-pre.1] - 2022-03-14
- Added mechanism to halt web traffic when request limits have been exceeded and requests are guaranteed to be rejected by the server.
- The Cloud Save service is now accessed using
CloudSaveService.Instance.Data.<API>
. - When a rate limit error occurs, a specific
CloudSaveRateLimitedException
will now be thrown. The new exception type includes the RetryAfter value (in seconds). - Added the Project Settings tab with link to Cloud Save dashboard.