Multiplayer Shootout packaged example with steam - failed to create session

Hi, i downloaded Multiplayer Shootout example from launcher and just enabled steam, to do it i followed rama’s guide,_Using_the_Steam_SDK_During_Development and i have to note, that in empty 2d side scroller project steam overlay works fine on shift + tab, but! when i enabled steam in Multiplayer Shootout in:


and packaged game i get error

“failed to create session”

when trying host a game

from this point i’m really confused what’s wrong, since steam overlay doesn’t appear in this packaged example for any reason, instead of empty 2d side scroller!

this is packaged game
this is whole project with enabled steam

to enable steam in your installed engine follow rama’s guide and don’t forget put steam sdk into engine folder called “thirdparty”

if you have time, please try my way or download ready to go archives and help me find out wtf is wrong

p.s. when running this example from editor in standalone mode hosting game work fine and i see my steam name!

error appears at “MyGameInstance” blueprint, “HostGameEvent”, “Create Session” - for any reason it return failure, but why? how can i find what behind this blueprint function in C++? because then i probably can do some kind of debugging right from C++

seems i found, it’s in


// Creates a session with the default online subsystem
UFUNCTION(BlueprintCallable, meta=(BlueprintInternalUseOnly = “true”, WorldContext=“WorldContextObject”), Category = “Online|Session”)
static UCreateSessionCallbackProxy* CreateSession(UObject* WorldContextObject, class APlayerController* PlayerController, int32 PublicConnections, bool bUseLAN);

and in CreateSessionsCallbackProxy.cpp

UCreateSessionCallbackProxy* UCreateSessionCallbackProxy::CreateSession(UObject* WorldContextObject, class APlayerController* PlayerController, int32 PublicConnections, bool bUseLAN)
UCreateSessionCallbackProxy* Proxy = NewObject();
Proxy->PlayerControllerWeakPtr = PlayerController;
Proxy->NumPublicConnections = PublicConnections;
Proxy->bUseLAN = bUseLAN;
Proxy->WorldContextObject = WorldContextObject;
return Proxy;

any idea why can it fail in packaged and doesn’t in standalone?

futher investigation gave me idea check log of running packaged game and here it is

steam online subsystem wasn’t inited

tryed tricky way, linked steam_api.lib into my custom class with

#include “steam_api.h”

#pragma comment(lib, “steam_api64.lib”)

but it didn’t help and same error appears in packaged game

LogModuleManager:Warning: ModuleManager: Module ‘onlineSubsystemSteam’ not found - its StaticallyLinkedModuleInitializers function is null

futher debugging around lead me to


#define IS_MONOLITHIC 1 // for auto-complete
#error UBT should always define IS_MONOLITHIC to be 0 or 1

in ModuleManager.cpp there’s

// Monolithic builds that do not have the initializer were not found during the build step, so return FileNotFound
// (FileNotFound is an acceptable error in some case - ie loading a content only project)
UE_LOG(LogModuleManager, Warning, TEXT( “ModuleManager: Module ‘%s’ not found - its StaticallyLinkedModuleInitializers function is null.” ), *InModuleName.ToString() );
OutFailureReason = EModuleLoadResult::FileNotFound;

so why OnlineSubsystem fails to load?

i have to note again for clarification:

in new empty 2d side scroller - steam work
in Multiplayer Shootout standalone from UE editor - steam work
in Multiplayer Shootout packaged - steam don’t work

solved, just miss


in build.cs, but how it happened i don’t know, just facepalm

Hi…From where i can find Build.cs and Target.cs???

both in “Source” folder, if you miss it just right mouse click on uproject file and generate VS files

Thank you so much…:slight_smile: