Replacing your framework’s default loading screen

8 min read4 sections · 4 questions answered
Short answer

Only one resource may declare loadscreen. Stop the framework’s loading screen (qb-loadingscreen on QBCore, esx_loadingscreen on ESX) by commenting out its ensure line or removing it from its category folder, then ensure your own. If your multicharacter or spawn script closes the loading screen manually, keep loadscreen_manual_shutdown consistent with it.

Both big frameworks ship a default loading screen, and almost every server wants its own instead. The swap takes a minute — but done carelessly it produces the classic symptom of two loading screens cancelling each other out. Here is the safe way.

Step 1: find every loading screen

Search your resources for any manifest containing loadscreen. Besides the framework’s own, recipe-installed servers and bundles sometimes include a second one.

Find every loadscreen declaration (Linux / Git Bash)
grep -rl --include=fxmanifest.lua "loadscreen" resources/
Windows PowerShell
Get-ChildItem .\resources -Recurse -Filter fxmanifest.lua | Select-String 'loadscreen' | Select-Object Path

Step 2: disable the default

server.cfg
# ensure qb-loadingscreen
# ensure esx_loadingscreen
ensure my_loadscreen

Step 3: check the hand-off to your multicharacter

Framework multicharacter scripts close the loading screen when the character selector opens. If your new loading screen uses loadscreen_manual_shutdown 'yes', confirm the multicharacter calls ShutdownLoadingScreenNui(); if it does not, either add the call or remove manual shutdown. The details are in manual shutdown.

Step 4: verify

  1. 1Restart the server (not just the resource).
  2. 2Connect with a cleared FiveM cache, so you are not seeing a cached old screen.
  3. 3Check the server console shows your loading screen resource started.
  4. 4Join through the whole flow to character selection and spawn.

If players see the old screen after the change, see loading screen changes not updating.

Common questions

How do I remove the QBCore loading screen?

Comment out ensure qb-loadingscreen in server.cfg (or move it out of an ensured category folder) and ensure your own loading screen instead.

Can I run two loading screens?

No. Only one resource may declare loadscreen; with two, neither displays reliably.

Will replacing the loading screen break my multicharacter?

Not if the hand-off matches: if you use manual shutdown, the multicharacter must call ShutdownLoadingScreenNui().

Should I delete the framework loading screen folder?

Disabling is safer: framework updates may expect the folder, and you can switch back quickly if needed.

Want a loading screen you never have to debug?

Build it in the browser, export once, and edit it whenever — no HTML, no re-uploads.

Start free

More guides