Quick answer: Godot 4 load_threaded_get_status returning 99% indefinitely on large scenes? Progress reporting rounds; engine finalizes after - poll status, not progress.

Loading bar reaches 99%; stays there for 2 seconds; jumps to 100%.

Poll status not progress

load_threaded_get_status returns status enum (Loaded, Loading, Failed). Progress is informational.

Map progress to 0-95%

Display progress * 0.95 + 0.05 of remainder during finalization. Bar moves smoother.

Show 'finalizing' message

At 99%, switch to 'Almost done...' text. Players accept the pause.

“Async progress is approximate. Display logic compensates.”

If your loading bar sticks at 99%, the UX hack is the fix. Engine progress isn't going to change.

Related reading