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
UnmarshalWallet
function 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 inSatoriSystem
type for simpler code. - Progression IDs can optionally be sent to receive deltas for a portion of the progression graph.
Improvements #
- Updated
nakama-common
tov1.30.1
release. - For Unreal and TypeScript, updated
HiroClient
with newest features. - Return instanced item rewards in response type when consumed.
- The
refill
andrefill_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
, andcan_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
andIEconomyLocalizedStoreItem
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 #
- Added the server interface for the Event Leaderboards gameplay system.