Many players unable to launch even with --rendering-driver opengl3/d3d11, need help diagnosing

Godot Version

4.6

Question

I recently released my game on Steam, and I’m running into a serious launch issue affecting a portion of players.

Issue

A number of users report that the game fails to start at all (no window, or immediate crash after launch). This is happening across different hardware setups.

What I’ve tried

I suggested affected players to use the following launch options:

--rendering-driver opengl3
--rendering-driver d3d11

In some cases, this helps, but a significant number of players still cannot launch the game even after trying both options.

Question

I’d like to understand what could be causing this kind of failure pattern. For example:

  • Could this still be a Vulkan-related issue even when forcing OpenGL3 / D3D11?

  • Is there a possibility that the issue is related to missing dependencies (VC++ runtime, GPU drivers, etc.)?

  • Could Steam build packaging or export configuration cause this behavior?

  • Are there known cases where --rendering-driver is ignored or fails silently

What I’m looking for

Any guidance on:

  • likely root causes for this kind of startup failure

  • better debugging steps (especially for end-user reports)

  • recommended fallback strategies for Steam releases

Thanks in advance for any help.

If you can get log files that would certainly help more.

If it instantly stops “running” the depot could be empty

Godot Engine v4.6.stable.official.89cea1439 - https://godotengine.orgVulkan 1.4.341 - Forward+ - Using Device #0: NVIDIA - NVIDIA GeForce RTX 4060 Ti

SCRIPT ERROR: Parse Error: Identifier “ImGui” not declared in the current scope.at: GDScript::reload (res://Game/Debuger/ImGuiDebuger.gd:10)SCRIPT ERROR: Parse Error: Identifier “ImGui” not declared in the current scope.at: GDScript::reload (res://Game/Debuger/ImGuiDebuger.gd:28)SCRIPT ERROR: Parse Error: Identifier “ImGui” not declared in the current scope.at: GDScript::reload (res://Game/Debuger/ImGuiDebuger.gd:29)SCRIPT ERROR: Parse Error: Identifier “ImGui” not declared in the current scope.at: GDScript::reload (res://Game/Debuger/ImGuiDebuger.gd:30)SCRIPT ERROR: Parse Error: Identifier “ImGui” not declared in the current scope.

SCRIPT ERROR: Compile Error: Failed to compile depended scripts.at: GDScript::reload (res://Game/Manager/GameManager.gd:0)ERROR: Failed to load script “res://Game/Manager/GameManager.gd” with error “Compilation failed”.at: load (modules/gdscript/gdscript.cpp:2907)Failed to initialize Steam, shutting down: { “status”: 1, “verbal”: “No SteamClient023” }ERROR: steamworks wasn’t initialized succeed.at: push_error (core/variant/variant_utility.cpp:1024)GDScript backtrace (most recent call first):[0] _ready (res://Game/MainGame.gd:74)WARNING: 无法找到该语言的code name -1at: push_warning (core/variant/variant_utility.cpp:1034)GDScript backtrace (most recent call first):[0] get_langue_code_name (res://Game/GameTypes.gd:338)[1] _switch_language (res://Game/Manager/GameManager.gd:263)[2] _on_language_switched (res://Game/Manager/GameManager.gd:275)[3] _init_user_config (res://Game/Manager/GameManager.gd:127)[4] _ready (res://Game/Manager/GameManager.gd:99)WARNING: 无法找到该语言的code name -1at: push_warning (core/variant/variant_utility.cpp:1034)GDScript backtrace (most recent call first):[0] get_langue_display_name (res://Game/GameTypes.gd:345)[1] _switch_language (res://Game/Manager/GameManager.gd:264)[2] _on_language_switched (res://Game/Manager/GameManager.gd:275)[3] _init_user_config (res://Game/Manager/GameManager.gd:127)[4] _ready (res://Game/Manager/GameManager.gd:99)ERROR: 6 RID allocations of type ‘N10RendererRD14TextureStorage7TextureE’ were leaked at exit.ERROR: Parameter “RenderingServer::get_singleton()” is null.at: ~CompressedTexture2D (scene/resources/compressed_texture.cpp:461)WARNING: 12 RIDs of type “Texture” were leaked.at: finalize (servers/rendering/rendering_device.cpp:7505)WARNING: ObjectDB instances leaked at exit (run with --verbose for details).at: cleanup (core/object/object.cpp:2641)ERROR: 417 resources still in use at exit (run with --verbose for details).at: clear (core/io/resource.cpp:810)

Here’s the complete log output. Does it look like the crash is being caused by RenderingServer::get_singleton()?

No it seems like ImGUI isn’t being included in your project; I’m not sure if this is a GDExtension plugin, it may not be available for the platform or accidentally excluded from the export. Can you link which plugin that is, I recognize the library at least.

Yes, I’m using an ImGui plugin, but those files aren’t included in the exported build, and the game runs normally in most cases. I also found another error log:

Failed to initialize Steam, shutting down: { “status”: 1, “verbal”: “No SteamClient023” }
ERROR: steamworks wasn’t initialized succeed.

This is probably the main cause.

If you aren’t including the ImGui plugin then you still have some scripts referencing it, those scripts will not function at the very least.

Sounds like it, unless “shutting down” refers to steam services rather than the entire game.

Yes, the game performs a Steamworks validation check on startup. If Steamworks fails to initialize correctly, the game will automatically close.

Looking at the very long line about steamworks failing to initialize, it seems to mention a failed language change, no ?

e.g this bit (words in bold at end of quote) so maybe do some print () debugging in your localization code ?

GameManager.gd:99)WARNING: 无法找到该语言的code name -1at: push_warning (core/variant/variant_utility.cpp:1034)GDScript backtrace (most recent call first):[0] get_langue_display_name (res://Game/GameTypes.gd:345)[1] _switch_language ,

If the game cannot detect a language setting here, it will automatically fall back to English. It won’t cause the game to exit or crash.

That’s from the last line of your log, thus the last error before it closes, I suppose. Make of it what you will