Description

This looks to occur because of the order in which the OSS Adapter module and Steam OSS module are shut down. The OSS Adapter holds onto references to the OSS's interfaces, so when the Steam OSS module is shut down first, IsUnique returns false for these interfaces.
This may also cause a fatal error later in FAuthOSSAdapter::PreShutdown (see attached callstack).
Shutting down the OSS Adapter module (or having FOnlineServicesRegistry::UnregisterServicesFactory called some other way) before the Steam OSS module is shut down avoids the issue.

Steps to Reproduce

Configure a project to use Steam OnlineServices, enabling the OSS Adapter.
Launch an instance of the project, and then shut it down.
Observe the ensure in FOnlineSubsystemSteam::Shutdown get triggered.

Callstack

Fatal error: [Link Removed] [Line: 757] 
Pure virtual function being called

 

VCRUNTIME140
SteamTestEditor_OnlineServicesOSSAdapter!UE::Online::FAuthOSSAdapter::PreShutdown() [D:\P4V\UE5-Main\Engine\Plugins\Online\OnlineServicesOSSAdapter\Source\Private\Online\AuthOSSAdapter.cpp:167]
SteamTestEditor_OnlineServicesCommon!UE::Online::FOnlineServicesCommon::PreShutdown() [D:\P4V\UE5-Main\Engine\Plugins\Online\OnlineServices\Source\OnlineServicesCommon\Private\Online\OnlineServicesCommon.cpp:250]
SteamTestEditor_OnlineServicesCommon!UE::Online::FOnlineServicesCommon::Destroy() [D:\P4V\UE5-Main\Engine\Plugins\Online\OnlineServices\Source\OnlineServicesCommon\Private\Online\OnlineServicesCommon.cpp:117]
SteamTestEditor_OnlineServicesInterface!UE::Online::FOnlineServicesRegistry::DestroyAllNamedServicesInstances() [D:\P4V\UE5-Main\Engine\Plugins\Online\OnlineServices\Source\OnlineServicesInterface\Private\Online\OnlineServicesRegistry.cpp:151]
SteamTestEditor_OnlineServicesOSSAdapter!UE::Online::FOnlineServicesOSSAdapterModule::ShutdownModule() [D:\P4V\UE5-Main\Engine\Plugins\Online\OnlineServicesOSSAdapter\Source\Private\Online\OnlineServicesOSSAdapterModule.cpp:107]
SteamTestEditor_Core!FModuleManager::UnloadModulesAtShutdown() [D:\P4V\UE5-Main\Engine\Source\Runtime\Core\Private\Modules\ModuleManager.cpp:1473]
SteamTestEditor!FEngineLoop::Exit() [D:\P4V\UE5-Main\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5146]
SteamTestEditor!GuardedMain() [D:\P4V\UE5-Main\Engine\Source\Runtime\Launch\Private\Launch.cpp:204]
SteamTestEditor!GuardedMainWrapper() [D:\P4V\UE5-Main\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:123]
SteamTestEditor!LaunchWindowsStartup() [D:\P4V\UE5-Main\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:277]
SteamTestEditor!WinMain() [D:\P4V\UE5-Main\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:334]
SteamTestEditor!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-348586 in the post.

0
Login to Vote

Unresolved
ComponentUE - Online
Affects Versions5.7
Target Fix5.8
CreatedOct 13, 2025
UpdatedOct 16, 2025
View Jira Issue