This highly customizable progress bar system is designed as a complete, drop-in solution for FiveM, combining extensive visual variety with immersive gameplay features and a developer-friendly API. With 16 unique animated styles, flexible customization, seamless compatibility with existing progress bar systems, advanced interruption and control options, and support for both client- and server-side usage, it gives you everything needed to create polished and engaging progress interactions.
Visual Variety
- 16 unique animated progress bar styles — 9 linear (Blocks, Circles, Line, Dashed, Slashes, Stripes, Arrows, Triangles, Para) + 7 ring/radial (Circles, Blocks, Stripes, Arrows, Chain, Dashed, Ring)
- Rounded or sharp shape variants for every style
- Fully customizable colors (theme, interrupted, failed) with automatic gradient/shade generation. no need to hand-pick every hue
- 9 screen anchor positions (top/middle/bottom × left/center/right)
- Smooth rolling-number/percentage display components
Drop-In Compatibility
- Stackable queue system for multiple simultaneous progress bars, with a per-bar showPreview option to let players see queued/upcoming bars in advance or keep them hidden until active
- Works as a true drop-in replacement for esx_progressbar, QB's progressbar, and ox_lib (lib.progressBar / lib.progressCircle) — zero code changes required in other resources
- Provides both esx_progressbar and progressbar resource names for seamless framework detection
Immersion & Gameplay
- Attaches props to ped bones and plays animations/scenarios automatically during progress
- Granular control-disabling options (movement, sprint, vehicle controls, combat, mouse look) while a bar is active
- Smart auto-interrupt conditions — cancels automatically if the player dies, ragdolls, gets cuffed, falls, or swims (each individually toggleable)
- Distinct visual/label states for Success, Failed, and Interrupted outcomes
- 40+ built-in randomized "flavor text" labels for extra personality, fully customizable
- Player-cancelable bars with a rebindable cancel key (default X)
Developer-Friendly API
- Client and server-side exports and events — trigger bars from either side
- Supports both callback-based and promise/await-based workflows
- Multiple simultaneous progress bars, each with its own unique ID
- Live mid-progress updates (label, color, state) without restarting the bar
- Clean typed API (GetTypes, Show, Update, Hide, Cancel, Fail)