Using FSteamSharedModule crashes editor at startup

I’m making a User Generated Content-plugin and need to load Steamworks to get access the ISteamUGC interface. As OnlineSubsystemSteam and other engine plugins use the SteamShared module for loading Steamworks, I would like to utilize it as well as it seems flexible. However, attempting to use the FSteamSharedModule class results in a crash on startup even with functions like FSteamSharedModule::IsAvailable which shouldn’t be dependent on the module being loaded.

The error logs sadly does not spit out anything meaningful. Any clues? UUGCSubsystem::Initialize shouldn’t even be called before play is pressed in the editor…

UGCSubsystem.h:

#include "UGCSubsystem.h"
#include "SteamSharedModule.h"

THIRD_PARTY_INCLUDES_START
#include "steam/steam_api.h"
#include "steam/isteamugc.h"
THIRD_PARTY_INCLUDES_END

void UUGCSubsystem::Initialize(FSubsystemCollectionBase& Collection)
{
    Super::Initialize(Collection);


    if (FSteamSharedModule::IsAvailable())
    {
        UE_LOG(LogTemp, Warning, TEXT("test"));
    }


    UE_LOG(LogTemp, Warning, TEXT("UUGCSubsystem::Initialize"));
}

SteamUGC.Build.cs:

using UnrealBuildTool;
using System.IO;

public class SteamUGC : ModuleRules
{
	public SteamUGC(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;


		PublicDependencyModuleNames.AddRange(new string[]{
			"Core",
			// ... add other public dependencies that you statically link with here ...
		});
			
		
		PrivateDependencyModuleNames.AddRange(new string[]{
			"CoreUObject",
			"Engine",
			"Slate",
			"SlateCore",
			"Steamworks",
			"SteamShared"
			// ... add private dependencies that you statically link with here ...	
		});
		
		
		AddEngineThirdPartyPrivateStaticDependencies(Target, "Steamworks");
	}
}

Log from startup:

[2022.03.23-22.51.09:633][  0]LogWindows:   Looked in: D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\Win64\Android
[2022.03.23-22.51.09:633][  0]LogWindows:   Looked in: D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\Win64\D3D12
[2022.03.23-22.51.09:633][  0]LogWindows:   Looked in: D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\Win64\IOS
[2022.03.23-22.51.09:633][  0]LogWindows:   Looked in: D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\Win64\Linux
[2022.03.23-22.51.09:633][  0]LogWindows:   Looked in: D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\Win64\LinuxArm64
[2022.03.23-22.51.11:463][  0]Message dialog closed, result: Ok, title: Message, text: Plugin 'SteamUGC' failed to load because module 'SteamUGC' could not be loaded.  There may be an operating system error or the module may not be properly set up.
[2022.03.23-22.51.11:463][  0]LogCore: Engine exit requested (reason: EngineExit() was called)
[2022.03.23-22.51.11:463][  0]LogStaticMesh: Abandoning remaining async distance field tasks for shutdown
[2022.03.23-22.51.11:463][  0]LogStaticMesh: Abandoning remaining async card representation tasks for shutdown

I tried this in a game module instead of a plugin module which crashed as well, but with a somewhat useful log. Somehow I had forgotten to add the SteamShared plugin as a required dependency (i.e. checked in the plugin browser), which was why it crashed.