Release Notes #

See the updates and improvements in the latest releases of Hiro.

1.9.0 #

New features #

  • Added a new option max_repeat_rolls to set how many duplicate rows of rolled rewards can occur.
  • The StoragePersonalizer can now update data definitions with a S2S RPC function.
  • Progressions can now be programmatically reset.

Improvements #

  • The SatoriPersonalizer can optionally send analytics events for each gameplay system.

Fixes #

  • Set energy modifiers into server response with Energies spend function.
  • Fixed item properties not being set when items are granted as part of user initialization.
  • Fixed unlockable slots populated in the wrong order when overflow slots are enabled.

Unity #

  • Fix visibility modifier with StatUpdate class.

1.8.1 #

New features #

  • Added UnmarshalWalletfunction to get a Hiro wallet from a Nakama *api.Account type.

Improvements #

  • Clearer error messages in Personalizer middleware.
  • Apply Satori identity authorization before Economy initialize user is processed.

Fixes #

  • Use stable order when inter-dependent achievement progress updates are counted.
  • Don’t throw an error on reward grants if Energies system is uninitialized.

1.8.0 #

New features #

  • Added switches for core and authenticate events to be sent by the SatoriPersonalizer.
  • Added instance_id field to response in Inventory Item type.
  • The Personalizer type can now be added as a chain of transforms to each gameplay’s data definition.
  • Achievement updates can now be sent as a batch to change different counts on multiple achievements at the same time.
  • Progressions can now define a reset schedule similar to Achievements.
  • Added a new StoragePersonalizer type which can use Nakama’s storage engine to manage gameplay data definitions.
  • Progression Reset can be used to manually reset progress on a progression node (i.e. to reset a quest).
  • Stats can update multiple different stats in a single request.

Unity #

  • VContainer DI example is now packaged with the Unity package.
  • Added IsClaimed computed field to Achievement type.
  • Wrap Satori.IClient methods in SatoriSystem type for simpler code.
  • Progression IDs can optionally be sent to receive deltas for a portion of the progression graph.

Improvements #

  • Updated nakama-common to v1.30.1 release.
  • For Unreal and TypeScript, updated HiroClient with newest features.
  • Return instanced item rewards in response type when consumed.
  • The refill and refill_sec fields are always populated in an Energy type (even if at max value).
  • The builtin SatoriPersonalizer now (optionally) uses Satori Live Events to configure Event Leaderboards.
  • Economy Grant now takes an optional wallet metadata input to record a reason in the Nakama ledger.
  • A user who has not submitted any score to an Event Leaderboard is not eligible for rewards or promotions.
  • Use Nakama’s builtin Facebook Instant purchase validation function in the Economy system.
  • If Satori is configured and enabled always authenticate server-side (rather than just new players).

Fixes #

  • Outdated or missing definitions and schemas have been updated.
  • Don’t throw an error when the sender claim has no reward defined.
  • Energies granted in rewards should be returned immediately rather than the previous stale value.
  • Fix variable shadow error with how data definition of sub-achievements are populated in responses.
  • Economy weighted table rewards should escape early if a valid reward row has already been granted.

Unity #

  • Add the Preserve attribute to some types at the class level to avoid code stripping issues in Unity IL2CPP.
  • Notify observers should not be called twice in the Progression system.
  • Don’t throw an error if Achievement category is unset or empty.
  • Use platform specific preprocessor statements with Unity Mobile Notifications system.

1.7.0 #

New features #

  • Added a new error type ErrItemsNotConsumable for Inventory items which are not consumable.

Improvements #

  • When granting Energies, the player’s updated energies are now returned.
  • Event Leaderboard Get operations will return an empty state when a player has never had a previous cohort.
  • Added locked field to the storage engine index used with Event Leaderboard cohort generation.
  • For Unity, improved InventorySystem to use observer pattern.

Fixes #

  • Use PurchaseFailureDescription.reason with Unity IAP package for error messages.
  • Sender claim uses the newer internal operation in the Incentives system.
  • Do not shadow parent Reward when it is created to be granted in Achievements system.
  • For Unity, use an async pattern in IStoreListener.ProcessPurchase with Unity IAP package.

1.6.0 #

New features #

  • Event Leaderboards now have the added fields is_active, can_claim, and can_roll for simpler client code.
  • New Incentives System added to the Unity SDK.
  • Added a MaxOverflow field to the data definition for Energies.

Improvements #

  • Both IEconomyListStoreItem and IEconomyLocalizedStoreItem can now be used in purchase flows in C#.

Fixes #

  • Use Inventory after the Progression purchase has been applied to calculate the latest Progression deltas.
  • Energy counts granted as an Economy Reward are kept as overflow.
  • Batch economy changes which resolve to items removed are now marked correctly.
  • Correctly serialize the input for Inventory update items request to JSON in C#.
  • Fixed to progression deltas computations.

1.5.0 #

New features #

  • Added the server interface for the Incentives gameplay system.
  • Cohort selection in Event Leaderboards can now be overridden with a custom function.

Improvements #

  • Get in the Progression gameplay system now returns a delta of Progression Nodes with changed state if a previous graph is passed to it.

1.4.0 #

New features #

  • Event Leaderboards now have a new function to Roll a new cohort in an active phase.
  • Each Progression Node can now contain multiple counts for local progress to be expressed.

1.3.0 #

New features #

  • Progression gameplay system added.
  • Event Leaderboards can now express promotion and demotion zones with percentages.

1.2.0 #

New features #

  • Added the server interface for the Stats gameplay system.

Improvements #

  • All Reward Tiers are now returned when an Event Leaderboard is fetched for the current user.

Fixes #

  • Fixed weighted reward error when definition is empty (instead of nil).

1.1.0 #

New features #