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.
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.
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
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-348586 in the post.
0 |
Component | UE - Online |
---|---|
Affects Versions | 5.7 |
Target Fix | 5.8 |
Created | Oct 13, 2025 |
---|---|
Updated | Oct 16, 2025 |