[/Script/Engine.GameEngine] !NetDriverDefinitions=ClearArray +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/SteamSockets.SteamSocketsNetDriver",DriverClassNameFallback="/Script/SteamSockets.SteamNetSocketsNetDriver") ; 公式Doc通りだと以下 ; [/Script/Engine.GameEngine] ; +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver") [OnlineSubsystem] DefaultPlatformService=Steam [OnlineSubsystemSteam] bEnabled=true SteamDevAppId=480 SteamAppId=480 ; GameServerQueryPort=27015 bInitServerOnClient=true bUsesPresence=true bUseLobbiesIfAvailable=true bUseSteamNetworking=true bAllowP2PPacketRelay=true [/Script/OnlineSubsystemSteam.SteamNetDriver] NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection";
DefaultEngine.ini で bUseLobbiesIfAvailable=true と設定しても、false となる。
JoinSession時に、bUsesPresence と FOnlineSessionSettings::bUseLobbiesIfAvailable
[FOnlineSessionSteam::JoinSession] The values of FOnlineSessionSettings::bUsesPresence and FOnlineSessionSettings::bUseLobbiesIfAvailable are treated as equal and have to match
UFUNCTION(BlueprintCallable, Category = "VshsSteam|Session") static void FixSteamSearchResultFlags(UPARAM(ref) FBlueprintSessionResult& SessionResult);
void UVshsSteamFunctions::FixSteamSearchResultFlags(FBlueprintSessionResult& SessionResult) { FOnlineSessionSearchResult& NativeResult = SessionResult.OnlineResult; NativeResult.Session.SessionSettings.bUsesPresence = true; NativeResult.Session.SessionSettings.bUseLobbiesIfAvailable = true; }