Interactive loading screens: cursor, buttons and opening links

9 min read4 sections · 4 questions answered
Short answer

Add loadscreen_cursor 'yes' to the loading screen’s manifest to show the mouse. Normal HTML buttons then work. Links do not navigate the loading screen — open them in the player’s browser with window.invokeNative('openUrl', 'https://…'), which only accepts http and https URLs.

A long load is a captive audience. With the mouse enabled, a loading screen can let players read the rules in tabs, pause the music, browse staff or click through to your Discord — turning waiting time into onboarding. It takes one manifest line and a little JavaScript.

Enabling the cursor

fxmanifest.lua
fx_version 'cerulean'
game 'gta5'

loadscreen 'index.html'
loadscreen_cursor 'yes'

files { 'index.html', 'style.css', 'script.js' }

Interactive elements worth adding

ElementWhy
Music play/pause and volumeThe most requested control — see audio and volume controls
Rules tabsNew players actually read them while waiting — see rules and info
Discord / website / store buttonsConverts waiting time into community joins
Staff and teamMakes the server feel run by people — see staff and team
Keybind cheat sheetAnswers the questions players ask in the first five minutes

Keeping it usable

  • Large click targets — players are on a gaming mouse, often on a large screen.
  • Nothing essential behind interaction: the screen must also work if nobody touches it.
  • Remember choices (like muted music) with localStorage so the next join respects them.
  • Do not trap focus or disable scrolling in text panels.

Common questions

How do I show the mouse on my FiveM loading screen?

Add loadscreen_cursor 'yes' to the loading screen resource’s fxmanifest.lua.

How do I open a Discord link from the loading screen?

Call window.invokeNative('openUrl', 'https://discord.gg/yourinvite') from a click handler. It opens the player’s default browser.

Why does clicking a link break my loading screen?

A normal link navigates the loading screen page itself. Use openUrl instead of an <a href>.

Can openUrl open any address?

Only addresses beginning with http:// or https://.

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