UE4使用steam子系统(发布steam包)

时间:2024-03-17 16:08:45

以4.21版本为例

 

1、复制steam程序中的dll文件至本地引擎文件内

*\UE_4.21\Engine\Binaries\ThirdParty\Steamworks\Steamv139

2、最终结果如下

3、打开工程文件内的Engine.ini配置文件

添加如下代码

 1 [/Script/Engine.GameEngine]
 2 +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
 3 
 4 [OnlineSubsystem]
 5 DefaultPlatformService=Steam
 6 
 7 [OnlineSubsystemSteam]
 8 bEnabled=true
 9 SteamDevAppId=480//测试ID,正式包用自己的ApplicationID
10 Achievement_0_Id=ACH_WIN_ONE_GAME //添加成就,正式包用自己的成就
11 [/Script/OnlineSubsystemSteam.SteamNetDriver]
12 NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"

4、开启UE4子系统插件

 

5、至此进入游戏(编辑器中用独立窗口模式运行)后按shift+tab可以呼唤出steam窗口

6、如需使用stema的api,可以在targe.cs内添加如下代码

 bUsesSteam = true;

7、同时在build.cs中添加如下模块代码

  PublicDependencyModuleNames.AddRange(new string[] {
            "OnlineSubsystem",
            "OnlineSubsystemUtils",
            "Steamworks"
        });

 DynamicallyLoadedModuleNames.Add("OnlineSubsystemSteam");

8、编译后可以调用相应模块方法