To learn more about the MSquared Platform, view the Documentation.
Create a Leaderboard Using OpenPage, MSquared Morpheus, and MML
In this guide, we will walk you through the process of setting up a timer system, integrating it with OpenPage for data tracking via badges, and displaying the top players on a leaderboard. You’ll learn how to configure key Blueprints likeBP_CoinClaim
, BP_LeaderboardMesh
, BP_StartTimer
, BP_StopTimer
, and BP_ResetTimer
, all while ensuring smooth interaction with external APIs and seamless gameplay mechanics.
By the end of this tutorial, you’ll have a fully functional timer system and leaderboard in your game, ready to track player performance and display the best times!
Download The Files
Video Tutorial
1
Components Overview
BP_CoinClaim
– enter the code obtained from the OpenPage accountBP_LeaderboardMesh
– Leaderboard (with the default mesh which you can change)BP_StartTimer
– starts the timer (an invisible box collider that can be resized as needed)BP_StopTimer
– stops the timer and keeps your time static on the screen (an invisible box collider that can be resized as needed)BP_ResetTimer
– resets the time to 0 (an invisible box collider that can be resized as needed)
2
Folder Game Mode
BP_Origin_PlayerControllerTemple
– all logic for starting, stopping, resetting the timer, and CoinClaim is located here
3
Parameters
Parameters you need to enter to send data to your account on op.xyz
HeaderXkey
Community
Badge
ApiUrl
– enter it without the trailing slash, e.g., https://api.op.xyz/v1
WB_LeaderboardOP
as wellYou will need to obtain your API key and setup your community and badge in the OpenPage Portal.
4
In World Settings
Set
BP_Origin_GameModeTemple
and enable GameMode Override for the timer logic to work.5
Leaderboard
WB_LeaderboardOP
– currently set to display the top 20 players with the best times. You can change the “F” field (refer to the API documentation)
6
OP API
The blueprints in this tutorial use three different OpenPage API endpoints. You can make use of these endpoints outside of the blueprints to retrieve or update your leaderboard as needed: