A flexible, data-driven system for creating interactive 2D card UIs with advanced, performance-first visual effects. This plugin project serves as a showcase of professional architecture for UMG and material design in Unreal Engine.
This system is built for stunning visual effects without sacrificing performance. All effects are driven by a single, powerful, and highly-customizable master material.
| Dissolve / Burn Effect | Interactive Hover & Shake | Procedural Glow & Layout |
|---|---|---|
![]() |
![]() |
![]() |
>> Watch Full Video Showcase on YouTube <<
-
🎨 Advanced Material-Driven VFX:
- Procedural Dissolve: A highly customizable "burn" effect with an emissive edge, controlled by a single material parameter.
- Interactive Shake & Glow: Responds to player interaction with a material-based shake and a soft procedural glow on hover.
- ID Mask ("Clown Mask") Layout: The entire card layout (frame, icon area, title background) is defined by a single color-coded texture, allowing for radical design changes by just editing one image.
- UV Remapping & Pseudo-Fresnel: Implements advanced material math to correctly fit textures into masked areas and to generate a border glow compatible with UI and Bloom.
-
🚀 High-Performance by Design:
- Tick-Free Animations: All animations (hover, dissolve, etc.) are driven by timers and interpolation (
FInterp To), not Event Tick, ensuring updates only happen when needed. - Optimized Shaders: The material is built for performance, with complex logic encapsulated in reusable Material Functions for a clean and efficient graph.
- Tick-Free Animations: All animations (hover, dissolve, etc.) are driven by timers and interpolation (
-
⚙️ Data-Driven Architecture:
- Data Assets are King: All card data (title, description, cost, icons) is stored in
PrimaryDataAssets. Create and balance new cards without ever touching a Blueprint widget. - Widget Factory (
WBP_Deck): This central widget acts as a factory, dynamically spawning and populating card widgets from an array of Data Assets. It uses aWrap Boxfor a responsive, flexible layout.
- Data Assets are King: All card data (title, description, cost, icons) is stored in
You have two options to use this system in your own project.
This is the easiest way to get started. You get a clean, ready-to-use plugin without any git history.
- Go to the Releases page.
- Download the
.zipfile from the latest release (e.g.,GBLabProgressionSystem-v1.0.0.zip). - In your Unreal Engine project's root folder, create a folder named
Pluginsif it doesn't already exist. - Unzip the downloaded file into the
Pluginsfolder. The final path should look like this:YourProject/Plugins/GBLabProgressionSystem/. - Launch your project. Unreal Engine will prompt you to build the plugin; agree and proceed.
Use this method if you want to contribute or follow the development history.
- Navigate to your Unreal Engine project's root folder.
- Create a folder named
Pluginsif it doesn't already exist. - Open a terminal or command prompt inside the
Pluginsfolder and run the following command:git clone https://github.com/GetBoros/GBLabProgressionSystem.git
- Launch your project. Unreal Engine will prompt you to build the plugin; agree and proceed.
After installing the plugin:
- Set your project's
GameModeto use theBP_HUDclass provided in the plugin. - Create a
WBP_Deckwidget in your level (or use the provided Demo Map). - Populate the
Cards In Deckarray on theWBP_Deckinstance with the exampleDA_Card_...assets. - Press Play.
This is an ongoing learning project. Future development plans include:
- Polishing the 3D Actor System (
BP_Card): Integrating the material baking pipeline to create a fully performant 3D version of the cards. - Drag-and-Drop Functionality: Implementing interactive card dragging.
- Refining Animations with Curves: Using Curve assets for more nuanced animation easing.

