fxmanifest.lua loadscreen, explained properly

5 min read6 steps
Short answer

loadscreen points at the page FiveM shows while a player connects — either a file inside your resource or a full https URL. loadscreen_manual_shutdown keeps the screen up until something closes it, and loadscreen_cursor shows a mouse cursor for interactive screens.

What each loading-screen directive does, when to use a local file versus a URL, and the mistakes that quietly break the screen.

Work through these in order

  1. 01

    The minimum working manifest

    A loading screen resource needs almost nothing else. fx_version and games are required by FiveM, and the loadscreen line does the actual work.

    fx_version 'cerulean'
    games { 'common' }
    
    loadscreen 'index.html'   -- a file inside the resource
    -- or
    loadscreen 'https://fivemloadingscreen.pro/s/your-slug'   -- a hosted URL
  2. 02

    Local file vs hosted URL

    A local file means every design change requires re-uploading the resource and every player re-downloading it. A hosted URL means the client fetches the page each time it connects, so edits go live without touching the server. The trade-off is that a hosted screen needs the client to reach that domain.

  3. 03

    loadscreen_manual_shutdown

    Set to yes, FiveM will not close the screen on its own — it waits for a shutdown call. Useful for a play-your-own-intro effect, and a common cause of players getting stuck when nothing calls it. Leave it off unless you need it.

    loadscreen_manual_shutdown 'yes'
  4. 04

    loadscreen_cursor

    Shows the mouse cursor over the loading screen so players can click links or buttons. Only enable it if your screen actually has something clickable, otherwise it just looks broken.

    loadscreen_cursor 'yes'
  5. 05

    The sets loadscreen alternative

    You can skip the resource entirely and set the screen straight from server.cfg. It is quicker to try, but you lose the ability to ship anything alongside it.

    sets loadscreen "https://fivemloadingscreen.pro/s/your-slug"
    sets loadscreen_manual_shutdown "true"
  6. 06

    Common mistakes

    Using single quotes inside the Lua manifest but double quotes in server.cfg (both are required, in their own place); pointing loadscreen at a folder instead of a file; and leaving a second loading screen resource enabled, which cancels both out.

Common questions

Does loadscreen work with an external URL?

Yes. FiveM will load any https URL, provided the page allows being embedded — it must send a permissive frame-ancestors policy that includes FiveM’s non-network schemes such as nui: and cfx-nui:.

What fx_version should I use?

cerulean is the safe modern choice and is what current FiveM artifacts expect. Older values still work but offer no benefit for a loading screen.

Does the loading screen resource need a server script?

No. A manifest is enough. A server script is only useful if you want to hand data to the screen, like the connecting player’s name or the live player count.

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