目录
二、根据虚幻文档接入OnlineSubsystemSteam服务
前言
本文使用的虚幻引擎版本是 UE4.27.2
提示:建议使用UE4.27版本。(本人在UE4.26的standalone模式下测试失败,只有通过右键“.uproject”文件选择“launch game”才成功连接到steam,怀疑是引擎版本问题)
一、steam提供的测试用AppId
AppId是steam为每一款游戏所设定的独有标识,每一款要上架steam的游戏都会拥有独一无二的AppId。不过,为了方便开发者测试,steam提供了游戏名为SpaceWar的AppId 480 供大家免费使用。
二、根据虚幻文档接入OnlineSubsystemSteam服务
根据虚幻文档中OnlineSubsystemSteam的步骤完成配置,蓝图项目中需要的操作如下:
2.1 编辑器中开启相关plugin插件
编辑器中找到并点击“plugin”进入插件页面,需要的插件是 Online Subsystem 和 Online Subsystem Steam,可通过搜索框找到,如下图所示:
勾选之后页面底部会要求重启编辑器,重启即可。
2.2 编辑 DefaultEngine.ini 配置文件
如果你的 DefaultEngine.ini 中没有下述词条,复制粘贴下方文本即可:
[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
[OnlineSubsystem]
DefaultPlatformService=Steam
[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
其中 [/Script/Engine.GameEngine] 词条中的内容也可以直接加到 [/Script/Engine.Engine] 中。
并且可以看到 SteamDevAppId=480 这一行使用到了AppId。
三、测试Steam是否成功接入游戏
保证自己的steam客户端已登录。
3.1 standalone模式运行游戏
编辑器中选择standalone模式运行游戏,游戏窗口右下角会弹出Steam标识,并且Steam游戏库中出现了一个名为SpaceWar的游戏,显示正在运行,如下图:
在游戏中按“shift+Tab”组合键,可弹出游戏社区、好友、成就等相关内容,至此就大功告成啦!
3.2 进阶测试
此时其实已经标志着steam客户端上登录的用户正在游玩这个游戏,所以我们可以测试下游戏中获取的用户名是不是与steam客户端中的相同。
打开游戏的角色蓝图ThirdPersonCharacter,在事件图表中编写如下程序:
保存并仍旧以standalone模式运行游戏,在游戏中按下我们定义好的输入键 “1”,会弹出我们steam客户端的用户名,进一步印证了我们已经成功接入了steam。
总结
UE4蓝图项目集成steam服务比较简单,只需要开启插件以及配置好配置文件就可以,对于一些只想上架Steam平台而不需要太多Steam服务的小型独立游戏来说已经足够。
下一节将会介绍在本节基础上UE4蓝图如何接入Steam成就系统,敬请期待。