Drop it in. Point it at your assets. Done.
LR Loading Screen is a polished, fully configurable FiveM loading screen — local MP4 background, MP3 music player with playlist, a rising particle canvas, animated progress and a clean glass-panel UI. The framework is auto-detected: drop it onto ESX, QBCore, Qbox, vRP or standalone and the player's character name shows up in the welcome line with zero edits.
Most loading screens make you dig through source.
Change a colour, swap the video, add a staff card — and suddenly you're editing HTML you didn't write. LR Loading Screen is driven entirely by a single config.js. Nothing to wire up, nothing to hardcode.
One file, every knob
Colors, video, music, patterns, staff cards, socials and language all live in one place — config.js. Point it at your assets and you're done. No build step, no framework, no markup edits.
The welcome line says "who?"
Generic loading screens greet everyone the same. A bridge ships inside the resource, runs on every client connect, detects Qbox / QBCore / ESX / vRP and pushes the player's character name into the welcome line — falling back to the FiveM display name when there's no supported framework.
A real glass-panel UI and a single config file and an auto-detected character name. And it's free.
The whole shape of the screen.
Drop lrr_loading/ into resources/, add ensure lrr_loading to server.cfg early, point config.js at your video and music, restart.
Local video background
Local MP4 / WebM background with a multi-source fallback chain — the first source that decodes is shown. No CDN, no hotlink, no black screen on a codec miss.
- Multiple sources tried in order
- Vignette scrim + film grain over the top
- Muted, looped, autoplay-safe
Music player with playlist
Local MP3 / OGG player with a full playlist — shuffle, loop, a volume slider and autoplay with a gesture-unlock fallback for browsers that block it.
- Queue as many tracks as you like
- Shuffle / loop / volume persisted in-session
- Gesture-unlock when autoplay is blocked
Particles & patterns
An animated rising particle canvas — palette, density, speed and size all configurable. Layer one of four pattern overlays (fine stripes, dots, hex grid, square grid) with edge masking, or turn them off entirely.
- Configurable palette, density, speed, size
- Four pattern overlays + edge masking
- Off-switch for a clean flat look
Animated progress & UI
A smooth animated progress bar with stage labels, stripes, sheen and a live percentage, wrapped in a tasteful glass-panel UI — backdrop blur, vignette scrim and film grain.
- Stage labels + live percentage
- Tips, rules & staff tabs with role cards
- Server status chip + social links row
A glass-panel loading screen — that greets you by name.
Backdrop blur, vignette scrim, film grain, a rising particle field and a music player in the corner. The welcome line fills in with the player's character name the moment the framework hands it over.
Immediate name, then the real one
The bridge pushes the FiveM display name immediately so the welcome line is never blank, then swaps in the character name once the framework loads it. Not on a supported framework? It just keeps the display name. No snippets to copy.
- Qbox · QBCore · ESX · vRP auto-detected
- Display name first, character name on load
- Graceful standalone fallback
Every accent, line and text color — one place.
Theme colors are CSS variables in config.js. Change the accent and the progress bar, particles, pattern tint and panel borders all move together.
The whole screen, declaratively
Colors, the video source chain, the audio playlist, particle tuning, the staff roster and the active locale are all keys in one object. No markup, no build step.
- Theme accents via CSS variables
- Video + audio as plain arrays of sources
- Staff cards with color-coded role badges
Ten translations. Add yours in one file.
Every UI string — rules, tips, progress stages — comes from a locale file in locales/. Switch the active language with one config key, or add your own with a single JSON file.
locales/Rules, tips, progress stages and welcome line — every string is translatable.
Everything you can configure.
Content & UI
Tips, rules and staff tabs with color-coded role cards (owner / admin / dev / mod), a server status chip and a social links row.
tipsrulesstaffroleColorsserverStatussocialsprogressStages
Look & feel
Theme colors, the video source chain, the music playlist, particle tuning, pattern overlays and the active locale — all in config.js.
themevideomusicparticlespatternsgrainlocale
The other Last Resort resources.
Intel NPC
The same studio, the same glass-panel art direction. Once players are through the loading screen, Intel NPC turns the empty crowds they spawn into a living city.
Open product page →Account Levels
The loading screen greets returning players by character name — Account Levels rewards the time they put in once they're in, with an account-wide tier shared across every character.
Open product page →It's free. Download it.
Free download. Full source.
A production-ready loading screen at no cost. No dependencies, framework auto-detected, everything driven by one config.js. Grab it from Tebex, drop it in, point it at your assets and restart.
- Local MP4 / WebM video with multi-source fallback
- MP3 / OGG music player with playlist, shuffle, loop, volume
- Auto character name on ESX / QBCore / Qbox / vRP
- Ten translations — one JSON file to add your own
The questions worth answering.
Yes. LR Loading Screen is a free download on the Last Resort Tebex store, full source included — no escrow, no licence-check phoning home.
No. A bridge ships inside the resource and runs on every client connect. It detects Qbox, QBCore, ESX or vRP, pushes the FiveM display name immediately, then swaps in the character name once it loads. On an unsupported framework it falls back to the display name. No snippets to copy, no config to edit.
Put your video in assets/video/ and your music in assets/audio/, then reference them in config.js. The video uses a multi-source fallback chain — the first source that decodes is shown.
Drop lrr_loading/ into resources/, add ensure lrr_loading to server.cfg early — before anything that touches the loading screen — set your assets in config.js and restart. It takes effect on the next client connect.
Only one resource may declare loadscreen. Stop any previous loading-screen resource so it doesn't compete with lrr_loading.
Yes — ten translations ship out of the box (English, Hungarian, German, French, Italian, Spanish, Portuguese BR, Polish, Czech and Dutch). Adding your own is one JSON file in locales/. Every UI string comes from the locale file.