Skip to content

Releases: needle-mirror/com.unity.services.cloudsave

3.2.2

19 Dec 14:09
Compare
Choose a tag to compare

[3.2.2] - 2024-12-18

Fixed

  • Fixed bug with after value when retrieving all files for a player.

3.2.1

20 Nov 17:12
Compare
Choose a tag to compare

[3.2.1] - 2024-11-15

Changed

  • Updated the minimum supported Editor version to 2021.3.
  • Updated Apple Privacy Manifest

3.2.0

26 Apr 14:11
Compare
Choose a tag to compare

[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

13 Mar 15:13
Compare
Choose a tag to compare

[3.1.1] - 2024-02-08

  • Added Apple Privacy Manifest

3.1.0

17 Jan 13:14
Compare
Choose a tag to compare

[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 type CloudSave.Models.Data.Player.DeleteOptions instead of CloudSave.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 the CloudSaveService.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 the Query object.

3.0.0

03 Oct 14:12
Compare
Choose a tag to compare

[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 namespace CloudSaveService.Instance.Files.Player without additional changes.
    • Methods in the namespace CloudSaveService.Instance.Data have been replicated in the namespace CloudSaveService.Instance.Data.Player with some additional changes:
      • RetrieveAllKeysAsync has been renamed to ListAllKeysAsync and now returns a Task<List<ItemKey>> where ItemKey includes additional metadata alongside the key: The write lock value, and modified date-time.
      • LoadAsync and LoadAllAsync now return a Task<Dictionary<string, Item>>, where Item includes additional metadata alongside the value: The write lock value, modified date-time, and created date-time.
      • ForceSaveAsync has been removed in favour of SaveAsync(IDictionary<string, object> data), or SaveAsync(IDictionary<string, SaveItem> data) without specifying the write lock on the SaveItem.
      • ForceDeleteAsync has been removed in favour of DeleteAsync without specifying the write lock option.

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 metadata
    • LoadAsync will load the data for the specified keys for a given custom data ID
    • LoadAllAsync 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 the SaveItem does not match the server state
    • SaveAsync returns a Dictionary<string, string> with the saved keys and their updated write locks
    • Added DeleteAsync with an optional DeleteOptions parameter which will fail if the specified write lock option does not match the server state

2.2.1

10 Jul 17:13
Compare
Choose a tag to compare

[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

22 Jun 13:13
Compare
Choose a tag to compare

[2.0.1] - 2022-06-10

  • Added missing XmlDoc to public ICloudSaveDataClient interface and CloudSaveService static class.

2.0.0

07 Jun 20:25
Compare
Choose a tag to compare

[2.0.0] - 2022-05-12

  • The Cloud Save SDK is no longer pre-release!

2.0.0-pre.2

07 Jun 20:25
Compare
Choose a tag to compare

[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.