steamworks SDK API 的 C#封装steamworks.net 对接 unity

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

发布了85 篇原创文章 · 获赞 30 · 访问量 27万+

猜你喜欢

转载自blog.csdn.net/qq_42672770/article/details/104444771
今日推荐