You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unreal Engine C++中初始化SteamAPI崩溃问题求助

在Unreal Engine自定义GameInstance中初始化SteamAPI崩溃的解决方法

问题概述

在自定义UCPP_GameInstance_Base类的Init()函数中添加SteamAPI初始化代码后,游戏运行即崩溃,崩溃触发点为SteamAPI_Init()调用。编译正常且可访问所有SteamAPI函数,错误栈指向steam_api64.dll的延迟加载失败:

KERNELBASE UnrealEditor_MyGame!__delayLoadHelper2()
[D:\a_work\1\s\src\vctools\delayimp\delayhlp.cpp:375]
UnrealEditor_MyGame!_tailMerge_steam_api64_dll()
UnrealEditor_Engine UnrealEditor_UnrealEd UnrealEditor_UnrealEd
UnrealEditor_UnrealEd UnrealEditor_UnrealEd UnrealEditor_UnrealEd
UnrealEditor_UnrealEd UnrealEditor_UnrealEd UnrealEditor_UnrealEd
UnrealEditor UnrealEditor UnrealEditor UnrealEditor UnrealEditor
UnrealEditor kernel32 ntdll

使用的初始化代码:

void UCPP_GameInstance_Base::Init()
{
    Super::Init();

    SteamAPI_RestartAppIfNecessary(MyAppID);

    if (SteamAPI_Init())
    {
        SteamUtils()->SetGameLauncherMode(true);
    }
}

解决步骤

1. 确认Steam DLL部署与链接配置

  • 崩溃源于延迟加载steam_api64.dll失败,需确保:
    • 从Steam SDK的redistributable_bin/win64目录复制steam_api64.dll,放到项目的Binaries/Win64文件夹下;打包后的游戏根目录也必须包含该文件。
    • 检查工程链接器设置,若使用延迟加载,需确保错误处理逻辑正确;更稳妥的方式是将steam_api64.lib设置为静态链接。

2. 调整SteamAPI初始化时机

GameInstance::Init()执行时机过早,引擎环境未完全初始化,易引发冲突。建议将初始化逻辑移至更晚的时机:

  • 例如在UGameModeBase::BeginPlay()中初始化:
void AMyGameMode::BeginPlay()
{
    Super::BeginPlay();

    SteamAPI_RestartAppIfNecessary(MyAppID);

    if (SteamAPI_Init())
    {
        SteamUtils()->SetGameLauncherMode(true);
    }
}
  • 同时在游戏退出时补充SteamAPI关闭逻辑,添加到GameInstance::Shutdown():
void UCPP_GameInstance_Base::Shutdown()
{
    if (SteamAPI_IsSteamRunning())
    {
        SteamAPI_Shutdown();
    }
    Super::Shutdown();
}

3. 验证Steam AppID有效性

  • 确保MyAppID是Steamworks后台注册的有效ID;测试阶段可使用官方测试AppID(如480,对应Steamworks Test App)排查是否为ID错误导致的问题。

4. 检查UE官方Steam插件状态

  • 若启用了UE官方Steam插件,插件已封装SteamAPI初始化逻辑,手动重复调用会引发冲突。此时应直接使用插件提供的接口,避免自行调用SteamAPI_Init()。

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 07:33:26