What is the easiest way to use the new Online Services feature with Steam in UE5.3.1?

What I’m talking about specifically is this: Overview of Online Services in Unreal Engine | Unreal Engine 5.3 Documentation

Let’s assume we’re creating a completely new project from scratch. What are the necessary steps for getting this to work, specifically with Steam.

The docs basically just say add

[OnlineServices]
DefaultServices=Steam

to your DefaultEngine.ini and you’re good to go. However doing that and using the method that they specify TSharedPtr<IOnlineServices> GetServices(EOnlineServices OnlineServices = EOnlineServices::Default, FName InstanceName = NAME_None); just results in that returning a nullptr. I’ve tried a number of different things to try and get this to work with no luck at all.

Has anyone actually been able to use this new feature? And if so what are the actual steps to get that working on a new project? Are there other bits of configuration needed in the DefaultEngine.ini? Are there specific plugins you need to install via the editor and specify in the modules section of your project? What I really want is to be able to use this with Steam, but honestly I can’t even the the Null implementation to work.

Hello, I have also ran into this issue and have not found a solution yet so I am curious as well. GetServices() always returns null, and thus when checking its validity, I receive an assertion failed (fatal error). Have you or anyone else found a way to make this new Online Services Interface (OSSv2) work with Steam?

[OnlineServices]
DefaultServices=Null

[/Script/Engine.OnlineEngineInterface] 
bUseOnlineServicesV2=true

Buid.cs

public class SessionTest : ModuleRules
{
	public SessionTest(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;		
		PCHUsage = ModuleRules.PCHUsageMode.NoPCHs;
		OptimizeCode = CodeOptimization.Never;
	
		PublicDependencyModuleNames.AddRange(new string[] { "CoreOnline", "OnlineServicesNull", "OnlineServicesEOS", "OnlineServicesInterface", "Core", "CoreUObject", "Engine", "InputCore" });

	}
}

uproject



{
	"FileVersion": 3,
	"EngineAssociation": "5.4",
	"Category": "",
	"Description": "",
	"Modules": [
		{
			"Name": "SessionTest",
			"Type": "Runtime",
			"LoadingPhase": "Default",
			"AdditionalDependencies": [
				"UMG"
			]
		}
	],
	"Plugins": [
		{
			"Name": "ModelingToolsEditorMode",
			"Enabled": true,
			"TargetAllowList": [
				"Editor"
			]
		},
		{
			"Name": "OnlineServices",
			"Enabled": true
		},
		{
			"Name": "OnlineServicesEOS",
			"Enabled": true
		},
		{
			"Name": "OnlineServicesNull",
			"Enabled": true
		}
	],
	"TargetPlatforms": [
	"Windows"
	]
}