参考:
steamworks.net 官方文档的说明 http://steamworks.github.io/gettingstarted/
steam游戏上架流程一:使用官方SDK上传游戏 https://blog.csdn.net/qq_42672770/article/details/104425473
steam游戏上架流程二:steamworks.net SDK API对接unity https://blog.csdn.net/qq_42672770/article/details/104444771
steam游戏上架流程三: 游戏的发布配置与测试 https://blog.csdn.net/qq_42672770/article/details/104444894
steam游戏上架流程四:Steamworks的API 方法回调方式 https://blog.csdn.net/qq_42672770/article/details/104361853
unity项目上线steam平台,若是接入steamworks SDK可以提供更好的体验。steam官方提供的SDK都是C++代码,也可以选择sdk接入时找到别人用C#封装的原生steamworks SDK,官方链接:https://steamworks.github.io/。上述链接包含文档及sdk下载地址。
此SDK涵盖了原生steamworks提供的大部分功能,如:状态存储及成就,排行榜,用户授权,比赛安排,steam云等等功能,文档中都有详细的概述。使用过程中也发现他们很细心的使用了和C++相同的方法名来封装了C#的方法,这样在使用过程中对照这官方的文档可以轻易在sdk中找到自己需要调用的api。由于我的需求目前只限于成就、排行榜及用户状态量存储,以下都会围绕这三个模块展开。
一、 安装SDK
1. 下载 Steamworks.NET的.unitypackage https://github.com/rlabrecque/Steamworks.NET/releases, windows下可直接下载zip包 https://github.com/rlabrecque/Steamworks.NET/archive/master.zip
2. 将包导入unity的 Assets/ 目录。
导入后,可以看到新添了三个文件夹:Editer;Plugins;Scripts;
3. 打开unity项目,会自动生成steam_appid.txt到项目的主目录下。打开 steam_appid.txt
并将 480
修改为自己的 AppId.
4. 将scrpts/Steamworks.net/SteamManager组件添加到游戏物体上,
打开Scripts文件夹下的 Steamworks. NET 文件夹,打开SteamManager脚本, 将 if 条件中的 AppId_t.Invalid 改为 (AppId_t)480 或者 new AppId_t(480) , 把 480 改成自己在 steamworks 上花100刀买的那个游戏编号。
重启unity,保证 steam_appid.txt 已生效.
5. 测试Steam API 调用
后主要脚本SteamManager,提供了Steamworks.NET的一些基础API供大家使用。
首先第一步,作为测试,可以新脚本SteamScript.cs并加入如下代码:
public class SteamScript : MonoBehaviour { void Start() { if(SteamManager.Initialized) { string name = SteamFriends.GetPersonaName(); Debug.LogError(name); } } }
注意我们在调用任何Steamworks方法前需要先确认steam是否初始化完成,即SteamManager.Initialized。