Unreal Engine 5 插件:缺少导入:UnrealEditor-SteamVR.dll

Unreal Engine 5 Plugin: Missing import: UnrealEditor-SteamVR.dll

我有一个插件在启动我的项目时最初无法加载并出现此错误:The game module ‘PluginName’ could not be loaded. There may be an operating system error or the module may not be properly set up

查看日志文件时,我发现问题是由以下原因引起的:

Missing import: UnrealEditor-SteamVR.dll

如果我将此 DLL 从 Unreal Engine 5 个插件复制到我的插件的二进制文件夹中,项目将正常打开并加载插件。但是,Unreal Engine 4 不是这种情况,所以我想看看为什么我现在需要复制这个 DLL。

在我的插件 Build CS 文件中,我引用了 SteamVR。也许这需要更新?

    PublicDependencyModuleNames.AddRange(
            new string[]
            {
                "Core",
                // ... add other public dependencies that you statically link with here ...
                "CoreUObject", "Engine", "InputCore", "HeadMountedDisplay", "OpenVR"
            }
            );
    PrivateDependencyModuleNames.AddRange(new string[] { "SteamVR" });

如何在不手动添加 DLL 的情况下让它工作?

我编辑了 .uplugin 文件并添加了 SteamVR 插件依赖项,这解决了问题。

"Plugins": [
    {
        "Name": "SteamVR",
        "Enabled": true
    }
]

编辑 1:

我发现尽管我的 C++ 中包含多个 Steam 库,但它是 SteamVRFunctionLibrary 的一个函数,负责在未启用 SteamVR 插件时导致启动时出现问题。