Przeskocz do zawartości
Multimedia 1 dla listy SGC Loading Screen System
0 comments

Opis

A C++ loading screen solution for Unreal Engine 5 covering both engine boot and in-game map travel.

Attention! The plugin is under development and may change. Stay tuned for updates and documentation (En/Ru).

The package includes only the plugin’s source code.

Supports:

Built for projects that need a polished first impression at startup and controlled loading feedback during level transitions — strategy games, RPGs, city builders, and any title where loading should feel intentional rather than accidental. The plugin splits cleanly into two phases: a Slate-based Startup PreLoad screen (before the engine is fully ready) and a Travel Loading Screen driven by a GameInstanceSubsystem with a custom UMG widget you own. All configuration lives in Project Settings — no code changes required for a working setup.

Key Features

  • Startup PreLoad Screen — A native Slate screen integrated with UE’s PreLoadScreen pipeline. Appears during engine initialization on packaged builds, before your game world exists. Fully configurable from Project Settings → SGC Startup Loading Screen:

  • Branded Layout — Background (image or color), logo, tint, tip, version, and throbber. Independent placement, fonts, and drop shadows.

  • Live Load Status — Real-time package, asset, shader, and PSO remaining counts. Hidden when idle.

  • Hold Time — Optional extra display duration after engine loading completes, so the screen doesn’t flash away instantly.

  • Startup Movies — Play before or after the status page; skippable. Plugin playlist in Content/Movies. Enabling this screen disables Project → Movies.

  • Packaging-Ready Assets — Startup images live in a dedicated StartupLoading folder, automatically staged as non-UFS. Editor tooling provides image pickers with live preview.

  • Travel Loading Screen — A GameInstanceSubsystem that manages your loading UI during map transitions:

  • Automatic or Manual Show — Default: appear on PreLoadMap and stay until you dismiss. Manual mode: Push Loading Screen only.

  • Manual Dismiss — You control when loading ends. Call DismissLoadingScreen from Blueprint or C++ when your game is ready — ideal for async initialization, experience loading, or menu transitions.

  • Custom UMG Widget — Assign any Blueprint subclass of USGCLoadingScreenWidget. Implement its events (do not bind). Full visual freedom: animations, progress bars, lore tips.

  • Shader Pipeline Boost — Enables fast shader pipeline cache batching while the loading screen is visible, reducing hitch when gameplay starts.

  • Optional Input Blocking — Configurable input swallowing while the screen is up. Optional world-render disable.

  • Robust Viewport Handling — Automatic retry if the viewport isn’t ready yet; async preloading of the widget class before travel.

Blueprint Integration

  • Level Load Status — Widget event while visible: waiting text, then package/level/asset/shader/PSO, then complete. Empty channel = hide.

  • Debug Metrics Overlay — FPS, memory, or both. Corner, font, color, z-order, interval in Settings; enable/mode/corner/color at runtime without writing .ini. Independent from the loading screen lifecycle.

Architecture

  • Three focused modules — Startup (ClientOnly, PreEarlyLoadingScreen), Runtime (travel loading + debug), Editor (Win64).

  • C++ core, Blueprint surface — Performance-sensitive boot rendering in Slate; travel UI in UMG where designers work.

  • No plugin content dependency — Bring your own images and widget Blueprints.

  • Multi-platform — Win64, Mac, Linux, Android, iOS.

  • Blueprint-Friendly — Create a Widget Blueprint based on USGCLoadingScreenWidget, assign it in Project Settings → SGC Loading Screen, configure startup branding in SGC Startup Loading Screen, call DismissLoadingScreen when ready to play.

Uwzględnione formaty