Unreal Engine 5 C++: Advanced Frontend Ui Programming

Posted By: ELK1nG

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

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