配置Steam
新建一个第三人称的项目,启用插件OnlineSubsystemSteam
在项目的配置文件中添加需要使用的模块,OnlineSubsystemSteam和OnlineSubsystem 用于链接steam子系统
在项目的DefaultEngin.ini文件中添加下面设置
[/Script/Engine.GameEngine] +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver") [OnlineSubsystem] DefaultPlatformService=Steam [OnlineSubsystemSteam] bEnabled=true SteamDevAppId=480 ; If using Sessions ; bInitServerOnClient=true [/Script/OnlineSubsystemSteam.SteamNetDriver] NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
这个设置在官方文档中
在Character.h中添加一个指向在线会话界面的指针
#include "Interfaces/OnlineSessionInterface.h" //指向在线会话界面的指针,将会话接口存储在里面 TSharedPtr<class IOnlineSession, ESPMode::ThreadSafe> OnlineSessionInterface;
在Character.cpp的构造函数中,配置为使用steam作为在线子系统,并通过AddOnScreenDebugMessage打印名字在屏幕上
#include "OnlineSubsystem.h" IOnlineSubsystem* OnlineSubsystem = IOnlineSubsystem::Get(); if (OnlineSubsystem) { OnlineSessionInterface = OnlineSubsystem->GetSessionInterface(); if (GEngine) { GEngine->AddOnScreenDebugMessage( -1, 15.f, FColor::Blue, FString::Printf(TEXT("Found Subsystem %s "), *OnlineSubsystem->GetSubsystemName().ToString()) ); } }