CoreShun Real Asset Preloader Screen
Overview
A premium loading screen system for Roblox games. Most "free" loaders on the marketplace are a Frame with a fake timer — this one actually preloads your assets and drives the progress bar from real ContentProvider data.
Includes 4 distinct layouts (splash, tips, cinematic, minimal), 6 color themes (live-swappable), animated logo entrance, personalized welcome card with the player's avatar + first-time vs returning detection, opt-in sound design, per-place overrides for hub/teleporter setups, and a clean integration story with CoreShun Toast Notifications.
Open source. Fully readable Luau. No obfuscation. Modify freely.
Features (30+)
Engine (8)
- Real ContentProvider
reloadAsync — progress bar driven by per-asset callbacks
- Three-component progress — preload completion (50%) + character spawn (20%) + elapsed time (30%)
- Min/max duration — show for at least N seconds (branding), max timeout safety
- Preflight log — opt-in verbose Output of every asset preloaded with ✓/✗ status
- CoreGui hide + restore — clean PlayerList/Backpack/Chat/Health hide during load
- Skip button — appears after configurable delay, optional "wait for ready" mode
- Loading-state labels — "Connecting…" / "Loading assets…" / "Ready!" all configurable
- Pure scale-based UI — phone/tablet/desktop/4K all look right
4 UI Layouts
- splash — classic centered logo + progress bar (default)
- tips — logo + rotating tip card during load
- cinematic — orbiting camera around a workspace Part
- minimal — small floating widget, no fullscreen takeover
6 Color Themes (live-swappable)
- aurora — green + teal + indigo (default · northern lights)
- nebula — purple + pink + starlight (deep space · premium)
- midnight — deep blue + electric (moody luxury)
- royal — gold + burgundy (casino · VIP)
- carbon — pure dark + sharp accent (corporate · hi-tech)
- pulse — single-color cyan (sci-fi · simple)
- custom — buyer-defined colors
Branding (5)
- Logo image OR text — rbxassetid logo or styled text fallback
- Tagline — short subtitle below the logo
- Footer — bottom-left credit / Discord link / etc.
- Background image — optional full-screen background with dim overlay
- Logo size presets — small / medium / large / huge
Personalization (4)
- Welcome card with player avatar — top-left, themed, scale-responsive
- First-time vs returning detection — DataStore-backed
- Template strings —
{name}and{gameName}placeholders - TrackFirstJoin toggle — disable DataStore for Studio testing without API access
Polish (4)
- Animated logo entrance — scale-bounce on appear, configurable easing
- Sound design — opt-in appear / tip-rotate / completion sounds, per-sound toggles
- Smooth fade in / fade out — configurable durations
- Vignette overlay (cinematic layout) — radial darkening for hero feel
Per-Place + Tips (3)
- Per-PlaceId overrides — different logo / theme / layout per teleport destination
- Rotating tips system — configurable pool, fade transitions, interval clamp
- Heading text — "DID YOU KNOW" / "TIP" / your choice
Integration (3)
- Music during load — optional Sound asset that fades out on complete
- CoreShun Toast Notifications — auto-detected, fires welcome toast on complete
- _G hooks — 5 client-side + 1 server-side for buyer integration
Mobile + Cross-platform (3)
- Auto-detection — touch-only devices get Mobile.Scale boost (default 1.10×)
- Pure UDim2.fromScale + UISizeConstraint — no fixed pixels
- Tested — phone (320×480), tablet (1024×768), desktop (1920×1080), 4K
Hooks for Buyer Integration
Define functions on
_G in any of your scripts. The system looks them up by name when events fire._G.CoreShunLoading_OnStart— screen first appears (client)_G.CoreShunLoading_OnProgress(percent)— repeated 0..1 updates_G.CoreShunLoading_OnComplete— before fade-out_G.CoreShunLoading_BeforeShow → bool— return false to skip the screen_G.CoreShunLoading_OnPlayerReady(player, seconds)— server-side analytics hook
What's Included
- LoadingConfig.lua — single config file for everything (themes, layouts, branding, preload, tips, animation, personalization, sounds, hooks)
- LoadingServer.server.lua — small server (remote setup, GetWelcomeData with DataStore-backed first-time tracking, hook dispatch)
- LoadingClient.client.lua — the brain (preload orchestration, progress tracking, fade in/out, sound playback, welcome card fetch)
- LoadingLayoutSplash.lua — default centered layout
- LoadingLayoutTips.lua — rotating tip card
- LoadingLayoutCinematic.lua — orbiting camera + HUD
- LoadingLayoutMinimal.lua — floating corner widget
- Installer.lua — one-line command bar installer
- README.txt and CHEATSHEET.txt — quick reference docs
- Manual.pdf — comprehensive 18-section guide
- Cheatsheet.pdf — visual one-page quick-ref
- Rojo project (default.project.json + ship.project.json) for active development
Easy Installation
- Drag the included
.rbxmxinto your place - Open the Studio Command Bar
- Run
require(workspace.CoreShunLoadingScreen.Installer) - Press F5 — the loading screen appears immediately on join
Or use the included Rojo project for live development. Compatible with Rojo 7.x.
Frequently Asked
Is the progress bar real or just a fake timer?
Real. The system calls
ContentProvider:PreloadAsync on the configured targets and fills the bar based on per-asset completion callbacks. Free loading screens use fake timers; this one drives from actual download data.Will it work on mobile?
Full support. UI auto-scales for touch devices, uses
UDim2.fromScale + UISizeConstraint throughout, looks right at every viewport.Can I have a different loading screen for different teleport destinations?
Yes.
Config.PerPlace lets you override branding, theme, layout, tagline per PlaceId. Each destination gets its own look.The screen appears for less than a second in Studio. Is something broken?
No — Roblox caches assets between Studio runs, so the second playtest preload is instant. Bump
Config.Timing.MinDuration to 30 for inspection. Drop it back to 3 before shipping.I'm getting "Studio access to APIs is not allowed" warnings.
That's the first-time tracking trying to call DataStore. Either enable Game Settings → Security → Enable Studio Access to API Services, or set
Config.Personalization.TrackFirstJoin = false to skip DataStore entirely.Will it conflict with my existing loading screen?
Yes — only one loading screen should run. Disable yours, OR set
_G.CoreShunLoading_BeforeShow = function() return false end in a LocalScript to opt this one out per player.Cinematic layout doesn't orbit. What's wrong?
You need a
BasePart in workspace at the path Config.Layout.Cinematic.CameraPart (default Workspace.LoadingCamera). Without one, the layout falls back to a static gradient (still functional, just not the full effect).Open source?
Fully. Plain Luau, no obfuscation. Edit any file to customize.
More Tools by coreshun
- In-Game Systems — Music Player, Daily Rewards, Admin Dashboard, Anti-Exploit, Chat System, Toast, Overhead Tags, AutoRejoin, Codes Redemption
- Studio Plugins — Color Picker, UI Wireframe, Gamepass Manager, TODO Tracker (free)
- Bundles — up to 45% off
Support
Discord: discord.com/invite/hdB5tadkk8
Premium · 30+ features · Real preloading · Mobile-ready · Open source
