官方原文帖子:https://wiki.unrealengine.com/Steam,_Using_the_Steam_SDK_During_Development
一、配置SteamSDK
- 总之Steam的sdk放在虚幻引擎安装目录的Engine\Source\ThirdParty\Steamworks\Steamv139\sdk这个目录。
- dll文件(Win64/Win32)放到虚幻引擎安装目录的Engine\Binaries\ThirdParty\Steamworks\Steamv139\目录下。
- 打包之后如果运行有问题提示缺dll文件,则把上一步的Engine\Binaries\ThirdParty目录下的的Steamworks文件夹拷贝到打包项目的WindowsNoEditor\Engine\Binaries\ThirdParty目录下。
- dll文件(其中steam_api.dll/steam_api64.dll)在安装UE4后就已经在虚幻引擎安装目录的Engine\Binaries\ThirdParty\Steamworks\Steamv139\下存在了。其他的去Steam的安装根目录下查找就行。
二、修改项目工程文件
Build.cs文件
PublicDependencyModuleNames.AddRange(new string[] {
"OnlineSubsystem",
"OnlineSubsystemUtils"
});
DynamicallyLoadedModuleNames.Add("OnlineSubsystemSteam");
Target.cs文件
public class MRTestTarget : TargetRules
{
public MRTestTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Game;
bUsesSteam = true;
ExtraModuleNames.Add("MRTest");
}
}
三、修改工程配置文件
DefalutEngine.ini
[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")
[OnlineSubsystem]
DefaultPlatformService=Steam
PollingIntervalInMs=20
bHasVoiceEnabled=true
[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
GameServerQueryPort=27015
bRelaunchInSteam=false
GameVersion=1.0.0.0
bVACEnabled=1
bAllowP2PPacketRelay=true
P2PConnectionTimeout=90
[Voice]
bEnabled=true
[Core.Log]
LogNet=verbose
LogOnline=verbose
LogVoice=verbose
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="/Script/OnlineSubsystemSteam.SteamNetConnection"
DefalutGame.ini (声音)
[/Script/Engine.GameSession]
bRequiresPushToTalk=ftrue