Skip to main content
GameDev.net gamedev.net

PRO Tired of ads? Read GameDev.net ad-free and help keep the community independent with GameDev Pro — $3/month.

The Unreal UTYPE system - Required knowledge to use the Unreal flavor of C++

The Unreal UTYPE system - Required knowledge to use the Unreal flavor of C++

5,884 0



An introduction to the UTYPEs used in Unreal C++. UInterface, UEnum, UStruct, and UClass. I walk through writing each example and discuss some esoterics/nuances you should know.


0:00 Intro

0:15 USTRUCT

0:28 UClass Macros and UHT

0:45 UClass Features UPROPERTIES, UFUNCTIONs, and plain-old c++

1:18 Exposing Class to the BP scripting system, BlueprintType, Blueprintable

1:30 UClass prefix U

1:54 Exposing UPROPERTIES and UFUNCTIONS to blueprint

2:23 Subclassing a code UOBJECT in blueprint

2:47 USTRUCT

2:54 USTRUCT Macros and UHT

3:05 USTRUCTs purpose, the intended use case

3:15 Type name prefixes reviewed

3:30 USTRUCT Features - UPROPERTIES not UFUNCTIONS

4:12 USTRUCT Exposing data to the editor

4:54 USTRUCTS and the Garbage Collector

5:15 USTRUCTS are NOT mem zeroed, so initialize your memory.

5:48 USTRUCT Garbage Collection Context Importance

6:48 How to do nested containers with ustructs

8:03 UENUMs

8:14 UENUM and UHT macros

8:46 Using UENUMs in the editor

9:26 UINTERFACE

9:30 UINTERFACE Boilerplate Type and Inherit Type

9:38 UINTERFACE Syntax, Macros, and UHT

10:51 Implementing UINTERFACE in cpp/c++

11:57 Implementing a code interface in blueprint

12:25 BlueprintType and interfaces

12:49 High level review

14:58 UINTERFACE overriding BlueprintNativeEvent in code

15:12 High level review

15:38 Outro

Recommended resources

Game Engines

See full guide
Unreal Engine 5 Best Practices cover
Editor pick

Unreal Engine 5 Best Practices

Amazon · Book

Written by multi-award-winning Unreal generalist Tyson J. Butler-Boschma, Founder and Creative Director of Toybox Games Studios, this book addresses common challenges you face when advancing your expertise in lighting, environment design, and cinematic storytelling.

GameDev.net may earn a commission if you purchase through these links. This helps fund the site at no extra cost to you.

GameDev.net may earn a commission if you purchase through these links. This helps fund the site at no extra cost to you.

Discussion

Loading comments...