Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Unreal Engine 5 C++: Advanced Frontend UI Programming

Unreal Engine 5 C++: Lập trình Giao diện Người dùng (UI) Frontend Nâng cao

Unreal Engine 5 C++: Lập trình Giao diện Người dùng (UI) Frontend Nâng cao

Tạo Trải nghiệm UI/Menu Frontend đẳng cấp AAA trong Unreal Engine 5 bằng C++ và Common UI

4.7
(336 đánh giá)
3,149 học viên
Giảng viên
Vince Petrelli
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
27.5 giờ video
209 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 30/05/2026

Bạn sẽ học được gì

Thiết lập một khung UI mô-đun bằng hệ thống Common UI và C++ của Unreal Engine 5
Tạo và quản lý widget bằng widget stacks với gameplay tags và tải không đồng bộ (async loading)
Phát triển một menu tùy chọn (options menu) đầy đủ chức năng
Điều hướng theo tab, Bảng chi tiết động, Các danh mục cài đặt mô-đun
Hệ thống Game User Settings để lưu/tải các giá trị cấu hình
Xây dựng một hệ thống ánh xạ lại phím (input remapping) hoàn chỉnh
Sử dụng bộ tiền xử lý đầu vào để phát hiện và xử lý thao tác của người chơi một cách động
Màn hình Khởi động và Màn hình Tải trong Game
Sử dụng Common Activatable Widget, Widget Stacks, Common Text Block và nhiều thành phần khác
Đối tượng Dữ liệu Tùy chỉnh để tạo các mục trong List View

Yêu cầu

Yêu cầu có Kinh nghiệm Cơ bản với C++ trong Unreal Engine

Đối tượng phù hợp

Dành cho người học muốn đào sâu kiến thức về lập trình UI với C++ và Common UI
Dành cho người học muốn xây dựng kiến trúc UI sẵn sàng cho sản xuất, có thể mở rộng và theo mô-đun
Dành cho người học có dự án yêu cầu menu phân lớp, cài đặt và hỗ trợ tay cầm (gamepad)
Dành cho người học sẵn sàng chuyển sang một khung UI mạnh mẽ và linh hoạt hơn dựa trên C++
Dành cho người học cần các mô-đun UI có thể tái sử dụng như màn hình tùy chọn, ánh xạ lại phím và màn hình tải

Nội dung khóa học

10 phần • 209 bài giảng
1 Giới thiệu
2 Một số Câu hỏi Thường gặp...
3 Common UI là gì?
4 Tạo một Dự án C++
5 Làm thế nào để Nhận Trợ giúp?
1 Tổng quan Phần Thiết lập Common UI
2 Thiết lập Bản đồ Kiểm tra (Test Map)
3 Frontend Player Controller
4 Đặt View Target
5 Widget Stack Gameplay Tags
6 Primary Layout Widget
7 Thêm về Transient...
8 Đăng ký Widget Stack
9 Công cụ Gỡ lỗi (Debug Helper)
10 Hệ thống con UI Frontend (Frontend UI Subsystem)
11 Đẩy Widget Mềm vào Stack một cách Không đồng bộ
12 Hành động Không đồng bộ trong Blueprint (BP Async Action)
13 Triển khai Hành động Không đồng bộ
14 Bố cục Mẫu (Template Layout)
15 Màn hình "Nhấn Phím Bất kỳ"
16 Tạo hoạt ảnh cho Màn hình "Nhấn Phím Bất kỳ"
17 Cài đặt Nhà phát triển (Developer Settings)
18 Thư viện Hàm Frontend (Frontend Function Library)
19 Nhiệm vụ Chia sẻ: Chia sẻ Tiến độ của Bạn
20 Tổng kết Phần
1 Tổng quan Phần Menu Chính
2 Lấy Cấu hình Đầu vào Mong muốn
3 Common Button Base
4 Widget Blueprint cho Nút
5 Widget Menu Chính
6 Khi Nhấn Phím Bất kỳ
7 Kiểu Chữ cho Nút
8 Văn bản Mô tả cho Nút
9 Widget Văn bản Mô tả
10 Các Nút Hành động Được Ràng buộc (Bound Action Buttons)
11 Dữ liệu Đầu vào Chung (Common Input Data)
12 Trước khi sử dụng Tay cầm...
13 Kiểm thử với Tay cầm
14 Màn hình Xác nhận
15 Đối tượng Thông tin Màn hình Xác nhận
16 Khởi tạo Màn hình Xác nhận
17 Đẩy Màn hình Xác nhận vào Modal Stack (Native)
18 Đẩy Màn hình Xác nhận vào Modal Stack (Blueprint)
19 Widget Blueprint cho Màn hình Xác nhận
20 Thoát Game
21 Thử thách Phần: Màn hình Câu chuyện (Story Screen)
22 Giải pháp: Màn hình Câu chuyện
23 Tổng kết Phần
24 Sửa lỗi Menu
25 Thử thách Tùy chọn: Cửa sổ Xác nhận Mới
1 Tổng quan Phần Menu Tùy chọn
2 Thiết lập Màn hình Tùy chọn
3 Các Nút Hành động Được Ràng buộc Tùy chỉnh
4 Ràng buộc Các Nút Hành động Được Ràng buộc
5 Common Tab List Widget
6 Widget Blueprint cho Danh sách Tab
7 Đối tượng Dữ liệu Danh sách
8 Bộ sưu tập Đối tượng Dữ liệu Danh sách
9 Kho đăng ký Dữ liệu Tùy chọn (Options Data Registry)
10 Lấy hoặc Tạo Kho đăng ký
11 Xử lý Việc Tạo Tab
12 Kiểm thử Tab với Tay cầm
13 Khi Tab Tùy chọn được Chọn
14 Thử thách Tùy chọn: Tab Mới
15 Tổng kết Phần
1 Tổng quan Phần Tab Lối chơi
2 Common List View
3 List Entry Widget Base
4 Widget Blueprint cho Mục nhập Danh sách
5 Đối tượng Dữ liệu Chuỗi (String)
6 Đặt Các mục Nguồn Danh sách
7 Ánh xạ Mục nhập Dữ liệu Danh sách
8 Khi Tạo Widget Mục nhập
9 String Entry Widget
10 Widget Blueprint cho Mục nhập Chuỗi
11 Khi Đặt Mục Danh sách
12 Tùy chọn Chuỗi Động
13 Khi Đối tượng Dữ liệu được Khởi tạo
14 Khởi tạo String Entry Widget
15 Khi Nhấp vào Nút
16 Chuyển đến Tùy chọn Tiếp theo
17 Khi Đối tượng Dữ liệu Danh sách Sở hữu bị Sửa đổi
18 Game User Settings
19 Trợ lý Tương tác Dữ liệu
20 Bộ Đặt và Lấy Dữ liệu Động
21 Xây dựng Trợ lý Tương tác
22 Áp dụng Cài đặt
23 Khi Mục được Di chuột qua hoặc Chọn
24 Khi List Entry Widget được Di chuột qua (Native)
25 Bật/Tắt Trạng thái Nổi bật
26 Chọn Entry Widget này
27 Widget Details View
28 Widget Blueprint cho Details View
29 Điền thông tin vào Details View
30 Cập nhật Details View
31 Giá trị Mặc định của Dữ liệu
32 Logic Đặt lại Dữ liệu
33 Thu thập Dữ liệu Có thể Đặt lại
34 Khi Nhấp vào Nút Đặt lại
35 Đặt lại Dữ liệu
36 Kiểm thử Danh sách Tùy chọn với Tay cầm
37 Sửa đổi Giá trị thông qua Tay cầm
38 Lấy lại Tiêu điểm cho Tay cầm
39 Hiển thị Hình ảnh Mô tả
40 Thử thách Tùy chọn: Cài đặt Mới với Hình ảnh Mô tả Mới
41 Tổng kết Phần
1 Tổng quan Phần Tab Âm thanh
2 Mục nhập Danh sách Tiêu đề (Header List Entry)
3 Widget Blueprint cho Mục nhập Tiêu đề Danh sách
4 Tìm Dữ liệu Danh sách Con một cách Đệ quy
5 Kiểm tra Mục có thể Chọn hoặc Điều hướng được không
6 Scalar Entry Widget
7 Widget Blueprint cho Mục nhập Giá trị Vô hướng
8 Đối tượng Dữ liệu Vô hướng
9 Xây dựng Đối tượng Dữ liệu Vô hướng
10 Khởi tạo Scalar Entry Widget
11 Các Biến Cấu hình Âm lượng
12 Gợi ý về Việc Đặt Âm lượng Tổng thể
13 Đặt Giá trị Hiện tại từ Thanh trượt
14 Bật/Tắt Trạng thái Nổi bật của Mục nhập Vô hướng
15 Đặt lại Dữ liệu Vô hướng
16 Âm lượng Nhạc
17 Thử thách Phần: Âm lượng Hiệu ứng Âm thanh
18 Đối tượng Dữ liệu Chuỗi-Bool
19 Xây dựng Đối tượng Dữ liệu Chuỗi-Bool
20 Sử dụng Chế độ Âm thanh HDR
21 Kiểm thử Tab Âm thanh với Tay cầm
22 Nhiệm vụ Chia sẻ: Chia sẻ Tiến độ của Bạn
23 Tổng kết Phần
1 Tổng quan Phần Tab Video
2 Các Thử thách Phía trước
3 Chạy Đánh giá Phần cứng
4 Đối tượng Dữ liệu Chuỗi-Enum
5 Xây dựng Đối tượng Dữ liệu Chuỗi-Enum
6 Đóng gói Dự án
7 Đối tượng Dữ liệu Độ phân giải
8 Khởi tạo Giá trị Độ phân giải
9 Chuyển Độ phân giải thành Chuỗi Giá trị
10 Mô tả Điều kiện Chỉnh sửa
11 Thêm Điều kiện Chỉnh sửa
12 Khi Bật/Tắt Trạng thái Có thể Chỉnh sửa
13 Điều kiện Chỉnh sửa Chỉ dành cho Bản dựng Đóng gói
14 Điều kiện Chỉnh sửa Chế độ Cửa sổ
15 Dữ liệu Phụ thuộc Chỉnh sửa
16 Cập nhật Trạng thái Có thể Chỉnh sửa của Widget
17 Hiển thị Gamma
18 Đối tượng Dữ liệu Chuỗi-Số nguyên
19 Chất lượng Tổng thể
20 Tỷ lệ Độ phân giải
21 Chất lượng Chiếu sáng Toàn cục
22 Chất lượng Bóng và Khử răng cưa
23 Thêm Cài đặt cho Chất lượng Đồ họa
24 Đồng bộ Dọc (Vertical Sync)
25 Giới hạn Tốc độ Khung hình
26 Bảng Chuỗi (String Table)
27 Kiểm thử Tab Video với Tay cầm
28 Nhiệm vụ Chia sẻ: Chia sẻ Tiến độ của Bạn
29 Tổng kết Phần
1 Tổng quan Phần Tab Điều khiển
2 Các Thử thách Phía trước
3 Đăng ký Ánh xạ Đầu vào
4 Truy vấn Các Phím có thể Ánh xạ
5 Lọc Các Phím có thể Ánh xạ
6 Đối tượng Dữ liệu Ánh xạ lại Phím
7 Xây dựng Đối tượng Dữ liệu Ánh xạ lại Phím
8 Key Remap Entry Widget
9 Widget Blueprint cho Mục nhập Ánh xạ lại Phím
10 Cập nhật Hình ảnh Nút
11 Lấy Biểu tượng từ Phím
12 Tái cấu trúc Hàm Bật/Tắt Trạng thái Nổi bật
13 Khi Nhấp vào Nút Ánh xạ lại
14 Màn hình Ánh xạ lại Phím
15 Widget Blueprint cho Màn hình Ánh xạ lại Phím
16 Đẩy Màn hình Ánh xạ lại Phím
17 Đăng ký Bộ tiền xử lý đầu vào
18 Các loại phím mong muốn
19 Xử lý phím được nhấn
20 Thông báo cho màn hình ánh xạ phím
21 Yêu cầu tắt Widget
22 Thông báo mục nhập danh sách ánh xạ phím
23 Thông báo đối tượng dữ liệu ánh xạ phím
24 Có thể đặt lại ràng buộc phím
25 Đặt lại ràng buộc phím
26 Thử thách phần: Hiển thị đầu vào Gamepad
27 Kiểm tra Tab điều khiển với Gamepad
28 Thử thách tùy chọn: Cài đặt ánh xạ phím nâng cao
29 Tổng kết phần
1 Tổng quan phần màn hình tải
2 Khởi động màn hình tải
3 Cài đặt màn hình tải
4 Blueprint Widget màn hình tải
5 Hệ thống con màn hình tải
6 Đối tượng thế giới có thể Tick
7 Thử cập nhật màn hình tải
8 Màn hình tải trước có đang hoạt động
9 Có nên hiển thị màn hình tải
10 Kiểm tra nhu cầu hiển thị màn hình tải
11 Thử hiển thị màn hình tải nếu chưa có
12 Thử xóa màn hình tải
13 Thông báo thay đổi hiển thị màn hình tải
14 Giao diện màn hình tải
15 Blueprint Widget màn hình ghi công
16 Cuộn phần ghi công
17 Chuyển camera theo tag
18 Thử thách tùy chọn: Tùy chỉnh văn bản đa dạng
19 Tổng kết phần
1 Nền UI có hoạt ảnh
2 Tiếp theo bạn nên làm gì?
3 Tiếp tục hành trình C++ của bạn...

Giới thiệu khóa học

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.

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học C Plus Plus
Hiển thị tất cả khoá học Game Development
Hiển thị tất cả khoá học Unreal Engine
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊