Hiro Game Development Kit
Add powerful economy, gameplay, and liveops features to your Unity and Unreal games on mobile, desktop, and console. Built in collaboration with the best game studios by the makers of Nakama server.
Contact UsEconomy
Rewards
Add base, gacha, and loot table rewards to your game for players to collect.
Virtual Store
Effortless integration to add soft or real currency purchases to your Unity and Unreal/C++ games.
Rewarded Video Ads
Integrate with the popular Ad networks to distribute rewards to players with rewarded video.
Inventory
Define gameplay items which are stackable, consumable, and awarded to players.
Virtual Wallet
Initialize one or more currencies and grant or spend them in the game economy.
Reward Bucket
Accumulate big rewards which can be progressed while playing and unlocked
Live Ops
Store Bundles
Adapt the store bundles and offerwalls shown to players based on their gameplay habits.
Personalization
Personalize all aspects of the player experience with experiments to improve gameplay enjoyment.
Live Events
Schedule live events for players to participate in for exclusive gameplay rewards.
Social
Event Leaderboards
Start and schedule timed or scored events for players to join and receive exclusive rewards.
Donations
Request inventory or economy items from other players. Share a reward with the sender.
Teams/Guilds
Built on the powerful Groups feature of Nakama server, and integrated with the game economy.
And much more!
Sample Code
Flexible JSON configurations and straightforward client code to unlock powerful standardized features for your game.
Unreal Code
/* User A requests a donation of refill tokens, Configured in the JSON to stay active for 1 day */ FHiroEconomyDonationRequest EconomyDonationRequest; EconomyDonationRequest.DonationId = TEXT("donation1") FHiroOnEconomyDonationRequest OnEconomyDonationRequestDelegate; HiroClient->EconomyDonationRequest(Session, EconomyDonationRequest, OnEconomyDonationRequestDelegate); UE_LOG(LogTemp, Log, TEXT("User A requested refill tokens donations.")); /* User B can donate to User A */ FHiroEconomyDonationGiveRequest EconomyDonationGiveRequest; EconomyDonationGiveRequest.UserId = TEXT("UserAId"); EconomyDonationGiveRequest.DonationId = TEXT("donation1") FHiroOnEconomyDonationGive OnEconomyDonationGiveDelegate; HiroClient->EconomyDonationGive(Session, EconomyDonationGiveRequest, OnEconomyDonationGiveDelegate); UE_LOG(LogTemp, Log, TEXT("User B fulfills donation request.")); /* When a donation has been made, User A can claim the reward */ FHiroEconomyDonationClaimRequest EconomyDonationClaimRequest; EconomyDonationClaimRequest.DonationIds = {TEXT("donation1")} FHiroOnEconomyDonationClaim OnEconomyDonationClaimDelegate; HiroClient->EconomyDonationClaim(Session, EconomyDonationClaimRequest, OnEconomyDonationClaimDelegate); UE_LOG(LogTemp, Log, TEXT("User A claims donation rewards."));
Unity Code
// User A requests a donation of refill tokens, // Configured in the JSON to stay active for 1 day await economySystem.RequestDonationAsync("donation1"); Debug.Log("User A requested refill tokens donations."); // User B can donate to User A await economySystem.DonateAsync("donation1", "<UserAId>"); Debug.Log("User B fulfills donation request."); // When a donation has been made, // User A can claim the reward await economySystem.ClaimDonationsAsync(new[] {"donation1"}); Debug.Log("User A claims donation rewards.");
JSON Definition
{ "donation1": { "name": "Refill Tokens", "description": "A request for refill tokens", "cost": { "currencies": { "tokens": 5 } }, "count": 0, "duration_sec": 86400, "max_count": 10, "reward": { "guaranteed": { "currencies": { "tokens": { "min": 5 } } } }, "sender_reward": { "guaranteed": { "items": { "xp_boost": { "min": 1 } }, "currencies": { "coins": { "min": 100, "max": 500 } } } }, "user_contribution_max_count": 2, "additional_properties": { "resource": "banner1" } } }
Find out more in the Hiro documentation
View DocsFAQ
What is the Hiro Game Development Kit (GDK)?
Hiro is a client-server library built on Nakama game server to add economy, social, and LiveOps features rapidly and flexibly to your game. It is available as a C# library (for Unity Engine) and C++ library (for Unreal Engine), and a server package which gets loaded by the game server. Take a look at our set up guide for how to get started.
Does Hiro require Nakama server to work?
Yes, we’ve built the game framework on top of our Nakama game server which is open-source and available to all game developers and studios.
How do I add it to my game?
Sign up, and grab a license for Hiro to download and add it to your Unity or Unreal game project. We also provide the server library which is used with Nakama server. Have a look at our documentation for examples and the set up guide.
Why are these features not built into Nakama server?
We believe the most flexible way to provide these meta systems to a game is to make them available as a client-server library which can optionally be extended upon to achieve even more specific gameplay to fit your game’s design.
Can I use Satori for LiveOps with Hiro?
Yes, absolutely. All the features in Hiro can optionally utilize our LiveOps server Satori to provide experimentation and personalization to the economy and gameplay systems for your players. You can also always introduce Satori at a later stage with false code changes to your game!
How do Hiro upgrades work once my game is in production?
Hiro is developed to be fully backwards compatible. You can update the library separately to the game server and have access to all newer releases while in your annual license period. See our documentation for more info.