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.

Check my CLs to see how to config Lyra with OSSv2.

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.

1
Login to Vote

Fixed
ComponentUE - Online
Affects Versions5.7
Target Fix5.8
Fix Commit47790136
CreatedOct 13, 2025
ResolvedNov 4, 2025
UpdatedNov 5, 2025
View Jira Issue