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 Us

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 Docs

FAQ

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.

Ready to grow your game?

Get Started

Simple per developer price charged as an annual license. Sign up to the Heroic Cloud today to activate a license, or contact us to find out more.