Requires the official Steamworks (Webview2) addon to also be included in the project.
Initial release, includes minimal leaderboard functionality.
Leaderboards
See steamworks web details on leaderboards, how to create and observe a leaderboard using the steamworks web interface
If you want to use the KeepBest method for the leaderboard, create it with the descending score option (if you change it later after you create it, it may not work)
Uploading scores is rate limited / throttled, so if you see updates failing to take effect this may be why (learned it the hard way): partner.steamgames.com/doc/api/ISteamUserStats
The result is returned as a JSON string array which can be parsed by the C3 JSON object.
Result Trigger tags and associated Result Data Tags:
DownloadLeaderboardScores
IsDlcInstalled
SetLeaderboard
UploadLeaderboardScore
GetFriendPersonaName
OnSessionRequest
GetFriendsNameId
Add very basic steamworks network messaging for testing. Requires correct SteamID to communicated between clients.
To get the correct SteamID: In the Steam desktop application, select your Steam username in the top right corner of the screen. Select ''Account details''. Your Steam ID can be found below your Steam username.
Networking must be enabled before communication. In the example project click on 'Enable Networking' this enables polling each tick for incoming messages.
In the example app, the steamId should be added to the top box and the message to the other box (right now a random number is appended in the example project, easy to change.)
When communication first happens between two clients, the receiving client must accept the connection before messages can be sent between them. The example project automatically accepts all incoming connections/sessions. Right now the channel number is hardwired to 0, but will change. Please try it out and let me know your experiences!
More details on steamworks networking messages:
partner.steamgames.com/doc/api/ISteamNetworkingMessages