Quick answer: Godot 4 C# editor utility hanging on Godot.Engine.GetVersionInfo() during a long asset load? Engine queries are sometimes blocked - defer to main thread.

Asset loader logs version; logging hangs because the engine is mid-import.

Defer to main thread

CallDeferred(MethodName.LogVersion);

Runs on main; engine state stable.

Or cache at startup

Read version once at editor open; use cached value. No mid-import queries.

Profile engine calls

Each engine call from worker thread is a candidate. Identify; eliminate.

“Engine state isn't thread-safe in all paths. Worker thread queries can block.”

Tool code that touches the engine should run on main thread. The pattern is project-wide.

Related reading