Cloud Code

Run your custom code effortlessly at scale.

Upload Lua code that can react in your games.

  • API invocation icon

    API Invocation

    Run custom code in the cloud directly from your app or game.

  • Scheduled invocation icon

    Scheduled Invocation

    Run daily, weekly, or monthly scripts for background tasks.

  • Pre pst commit hooks icon

    Pre/Post-Commit Hooks

    Execute scripts before or after API requests to react to your users.

Build functionality tailored for your games.

  • Player vs Player

    Build beautiful PvP experiences and challenge players around the world.

  • Gifting

    Send gifts, and rewards to players and invite them to live events.

  • Tournaments

    Build leagues, divisions, and cohorts. Reward players as they compete.

  • Guilds

    Create groups for friends, or teams and strategise to win.

  • Custom player login flow

    Send newsletters, announcements, signup perks, and more to your newest players.

Multiplayer illustration
  • Heroic Labs plays nice with third-party services.

    Third party services illustration

    Integrate with other services like analytics or email providers and use external web hooks.

  • Extend Heroic Labs core features with your custom logic.

    Core features with custom logic illustration

    Run custom code which extends our API with features specific to your games.

Cloud Code comes with the full power of Lua.

  • Lua Runtime

    Take advantage of Lua's flexibilty and speed.

  • Module Imports

    Import community contributed Lua modules and reuse your common code.

  • 12 Seconds Execution Window

    Handle complex tasks with up 12 seconds per run on the code execution service.

local M = {}
function M.example(context, payload)
  local session = context.gamer_id
  if (not session) then
    return context.error("No user session.")
  end
  local storage =
      heroic.datastore.read(session, "savegames", "SaveGame1")
  storage["myNewKey"] = "New game state."
  heroic.datastore.write(session, "savegames", "SaveGame1", storage)
end
return M

Getting started

Sign Up and configure your game in our dashboard. Check out the documentation.