Unreal Engine 5 C++: Advanced Frontend Ui Programming
Published 5/2025
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 14.18 GB | Duration: 21h 12m
Published 5/2025
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 14.18 GB | Duration: 21h 12m
Create AAA Frontend UI/Menu Experience in Unreal Engine 5 using C++ and Common UI
What you'll learn
Set up a modular UI framework using Unreal Engine 5's Common UI system and C++
Create and manage widgets using widget stacks with gameplay tags and async loading
Develop a fully functional options menu
Tab navigation, Dynamic details panel, Modular setting categories
Game User Settings system for saving/loading config values
Build a complete input remapping system
Use input preprocessors to detect and process player input dynamically
Start Up and In-Game Loading Screen
Utilize Common Activatable Widget, Widget Stacks, Common Text Block and more
Custom Data Objects for List View Item generation
Requirements
Basic Experience with C++ in Unreal Engine is required
Description
In this comprehensive course, you’ll build a fully-featured, AAA-quality frontend UI system entirely from scratch using Unreal Engine 5’s Common UI framework and C++. From layered menus to full gamepad support, you’ll learn how to create immersive and modular interfaces designed for real-world projects.You’ll start by setting up the core UI foundation. We’ll create a primary layout widget, register widget stacks using gameplay tags, and implement asynchronous functions for pushing widgets onto the screen. Once that’s in place, you’ll build a responsive “Press Any Key” screen and display it using your new widget flow.Next, you’ll create a dynamic main menu system. We’ll use Common UI buttons backed by native C++ classes to add contextual button descriptions, action buttons, and a flexible confirmation screen. We’ll also ensure full gamepad support is seamlessly integrated. Along the way, you’ll learn how to structure UI features in a modular, reusable way for both Blueprint and C++ projects.Once the core menu is complete, you’ll move on to building a robust options menu. This system will feature tab buttons at the top, a detailed view panel on the right, and support for multiple settings categories including gameplay, audio, graphics, and input. You’ll learn how to combine data objects with Unreal’s Data Registry system to dynamically populate the UI.After setting up the structure, we’ll focus on functionality. You’ll implement logic to reset values to default, customize how list entry widgets are generated, and create a custom Game User Settings system to store and load player preferences from config files.With that foundation in place, we’ll dive into creating audio and video settings. You’ll add controls for adjusting window mode, resolution, shadow quality, frame rate limit, and more—while managing data dependencies and conditional logic properly for a clean, scalable architecture.Finally, you’ll implement startup and in-game loading screens that integrate seamlessly into your project’s UI flow, giving players a polished experience from launch to gameplay.
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Some Common Questions You May Have…
Lecture 3 What is Common UI?
Lecture 4 Create a C++ Project
Lecture 5 How to Get Help?
Section 2: Set Up Common UI
Lecture 6 Set Up Common UI Section Overview
Lecture 7 Set Up Test Map
Lecture 8 Frontend Player Controller
Lecture 9 Set View Target
Lecture 10 Widget Stack Gameplay Tags
Lecture 11 Primary Layout Widget
Lecture 12 More On Transient…
Lecture 13 Register Widget Stack
Lecture 14 Debug Helper
Lecture 15 Frontend UI Subsystem
Lecture 16 Push Soft Widget To Stack Async
Lecture 17 BP Async Action
Lecture 18 Implement Async Action
Lecture 19 Template Layout
Lecture 20 Press Any Key Screen
Lecture 21 Animate Press Any Key Screen
Lecture 22 Developer Settings
Lecture 23 Frontend Function Library
Lecture 24 Section Wrap Up
Section 3: Main Menu
Lecture 25 Main Menu Section Overview
Lecture 26 Get Desired Input Config
Lecture 27 Common Button Base
Lecture 28 Button Widget Blueprint
Lecture 29 Main Menu Widget
Lecture 30 On Any Key Pressed
Lecture 31 Button Text Style
Lecture 32 Button Description Text
Lecture 33 Description Text Widget
Lecture 34 Bound Action Buttons
Lecture 35 Common Input Data
Lecture 36 Before using Gamepad…
Lecture 37 Testing with Gamepad
Lecture 38 Confirmation Screen
Lecture 39 Confirm Screen Info Object
Lecture 40 Init Confirm Screen
Lecture 41 Native Push Confirm Screen To Modal Stack
Lecture 42 BP Push Confirm Screen To Modal Stack
Lecture 43 Confirm Screen Widget Blueprint
Lecture 44 Quitting The Game
Lecture 45 Section Challenge: Story Screen
Lecture 46 Solution: Story Screen
Lecture 47 Section Wrap Up
Lecture 48 Fix Menu Issues
Section 4: Options Menu
Lecture 49 Options Menu Section Overview
Lecture 50 Set Up Options Screen
Lecture 51 Custom Bound Action Buttons
Lecture 52 Binding Bound Action Buttons
Lecture 53 Common Tab List Widget
Lecture 54 Tab List Widget Blueprint
Lecture 55 List Data Object
Lecture 56 List Data Object Collection
Lecture 57 Options Data Registry
Lecture 58 Get or Create Registry
Lecture 59 Handle Tab Creation
Lecture 60 Testing Tabs With Gamepad
Lecture 61 On Options Tab Selected
Lecture 62 Section Wrap Up
Section 5: Gameplay Tab
Lecture 63 Gameplay Tab Section Overview
Lecture 64 Common List View
Lecture 65 List Entry Widget Base
Lecture 66 List Entry Widget Blueprint
Lecture 67 String Data Object
Lecture 68 Set List Source Items
Lecture 69 Data List Entry Mapping
Lecture 70 On Generate Entry Widget
Lecture 71 String Entry Widget
Lecture 72 String Entry Widget Blueprint
Lecture 73 On List Item Set
Lecture 74 String Dynamic Options
Lecture 75 On Data Object Initialized
Lecture 76 Initialize String Entry Widget
Lecture 77 On Button Clicked
Lecture 78 Advance To Next Option
Lecture 79 On Owning List Data Object Modified
Lecture 80 Game User Settings
Lecture 81 Data Interaction Helper
Lecture 82 Data Dynamic Setter and Getter
Lecture 83 Construct Interaction Helper
Lecture 84 Apply Settings
Lecture 85 On Item Hovered Or Selected
Lecture 86 Native On List Entry Widget Hovered
Lecture 87 Toggle Highlight State
Lecture 88 Select This Entry Widget
Lecture 89 Details View Widget
Lecture 90 Details View Widget Blueprint
Lecture 91 Populate Details View
Lecture 92 Update Details View
Lecture 93 Data Default Value
Lecture 94 Data Reset Logic
Lecture 95 Gather Resettable Data
Lecture 96 On Reset Button Clicked
Lecture 97 Reset Data
Lecture 98 Test Options List With Gamepad
Lecture 99 Modify Value Through Gamepad
Lecture 100 Regain Focus For Gamepad
Lecture 101 Display Description Image
Lecture 102 Section Wrap Up
Section 6: Audio Tab
Lecture 103 Audio Tab Section Overview
Lecture 104 Header List Entry
Lecture 105 Header List Entry Widget Blueprint
Lecture 106 Find Child List Data Recursively
Lecture 107 Is Item Selectable Or Nagivable
Lecture 108 Scalar Entry Widget
Lecture 109 Scalar Entry Widget Blueprint
Lecture 110 Scalar Data Object
Lecture 111 Construct Scalar Data Object
Lecture 112 Initialize Scalar Entry Widget
Lecture 113 Volume Config Variables
Lecture 114 Hints on Setting the Overall Volume
Lecture 115 Set Current Value From Slider
Lecture 116 Toggle Scalar Entry Highlight State
Lecture 117 Reset Scalar Data
Lecture 118 Music Volume
Lecture 119 Section Challenge: Sound FX Volume
Lecture 120 String Bool Data Object
Lecture 121 Construct String Bool Data Object
Lecture 122 Use HDR Audio Mode
Lecture 123 Test Audio Tab With Gamepad
Lecture 124 Section Wrap Up
Section 7: Video Tab
Lecture 125 Video Tab Section Overview
Lecture 126 Challenges Ahead
Lecture 127 Run Hardware Benchmark
Lecture 128 String Enum Data Object
Lecture 129 Construct String Enum Data Object
Lecture 130 Package Project
Lecture 131 Resolution Data Object
Lecture 132 Init Resolution Values
Lecture 133 Resolution To Value String
Lecture 134 Edit Condition Descriptor
Lecture 135 Add Edit Condition
Lecture 136 On Toggle Editable State
Lecture 137 Package Build Only Edit Condition
Lecture 138 Window Mode Edit Condition
Lecture 139 Edit Dependency Data
Lecture 140 Update Widget Editable State
Lecture 141 Display Gamma
Lecture 142 String Integer Data Object
Lecture 143 Overall Quality
Lecture 144 Resolution Scale
Lecture 145 Global Illumination Quality
Lecture 146 Shadow and Anti-Aliasing Quality
Lecture 147 More Settings for Graphics Quality
Lecture 148 Vertical Sync
Lecture 149 Frame Rate Limit
Lecture 150 String Table
Lecture 151 Test Video Tab with Gamepad
Lecture 152 Section Wrap Up
Section 8: Control Tab
Lecture 153 Control Tab Section Overview
Section 9: Loading Screen
Lecture 154 Loading Screen Section Overview
Learners who want to deepen their knowledge of UI programming with C++ and Common UI,Learners who want to build production-ready, scalable, and modular UI architectures,Learners whose projects require layered menus, settings, and gamepad support,Learners ready to transition to a C++ based, more powerful and flexible UI framework,Learners who need reusable UI modules like options screens, input remapping, and loading screens