Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

All the UInterface types explained in Cpp (Condensed Version) - Unreal Interfaces - UE C++ Tutorial

Автор: enigma tutorials

Загружено: 2024-09-14

Просмотров: 453

Описание:

This is a condensed version of the full video here:    • All the UInterface types explained in Cpp ...  

The Unreal engine provides interfaces as a primary feature of the engine.
When considering C++ and blueprint, there's 3 different ways interfaces are used.
We have Blueprintable, NotBlueprintable, and Blueprint interfaces.
This video goes through the different permutations, the nuances between them, and provides mental model to quickly reason about the differences.

TSubclassOf can be constrained using the MustImplement keyword.
UClass has the ImplementsInterface function for runtime checks.
UObjects have Implements method to check if it implements an interface.

Casting to IType only works reliably for code classes implementing interfaces
The Implements method is the most reliable way to check for an interface, as it works in all contexts I have tested.


Additional notes:

While not covered in the video, you can still use TScriptInterface with NotBlueprintable interfaces, in the way that I shown for BlueprintableInterfaces.

For clarity, ImplementsInterface is a method of UClass, not TSubclassOf. See UClass::ImplementsInterface

Common Errors around Blueprintable and NotBlueprintable. My mental model helps explain these.
Interfaces that are not implementable in blueprints cannot have blueprint event members.
Blueprint implementable interfaces cannot container blueprintCallable functions that are not BlueprintImplementableEvents. Add NotBlueprintable to the interface if you wish to keep this function.

Recorded in 5.3

0:00 Begin Slide Show
0:01 High Level Interface Types
0:26 UType vs IType
0:53 Why use Interfaces
1:26 Blueprintable vs NotBlueprintable
2:29 NotBlueprintable and Blueprintable and Blueprint interface nuances
2:39 Blueprintable Code Inheritance - has valid IType pointers
2:56 Blueprintable Blueprint Inheritance - does not have valid IType pointers
3:18 A useful mental model
3:35 Blueprint defined interfaces
3:39 Interface Inheritance Mental Model Review
4:09 The usefulness of the Mental Model approximation
4:24 Implements vs Cast
5:52 Passing parameters to Blueprintable interface events requires object pointer
6:48 Using TScriptInterface
8:30 Blueprintable NotBlueprintable - I-interface isn't valid for blueprints implementing interface
9:00 Mental Model Explains: BlueprintNativeEvent doesn't allow bp to call super, and default return values
10:30 TSubclassOf constraining to interfaces -- MustImplement
11:15 Checking TSubclassOf at runtime using the ImplementsInterface function
11:54 Blueprint Interface Calls - Direct vs Messages
12:31 Summary
13:07 Outro

All the UInterface types explained in Cpp (Condensed Version) - Unreal Interfaces - UE C++ Tutorial

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

Upgrading an Unreal Engine Cpp project - Upgrading 5.3 to 5.4 - UE C++ Tutorial

Upgrading an Unreal Engine Cpp project - Upgrading 5.3 to 5.4 - UE C++ Tutorial

All the UInterface types explained in Cpp - Unreal Interfaces - UE C++ Tutorial

All the UInterface types explained in Cpp - Unreal Interfaces - UE C++ Tutorial

UHT - Understanding Unreal Header Tool. Exploring C++ generated code - UE C++ Tutorial

UHT - Understanding Unreal Header Tool. Exploring C++ generated code - UE C++ Tutorial

(Не)надежные генераторы случайных чисел в С++

(Не)надежные генераторы случайных чисел в С++

Генетический алгоритм — оптимизация стратегий

Генетический алгоритм — оптимизация стратегий

Как разобраться в IT-документации к непонятному? Приёмы и подходы • C • Live Coding

Как разобраться в IT-документации к непонятному? Приёмы и подходы • C • Live Coding

Модульное тестирование Java с помощью JUnit — Учебное пособие — Как создавать и использовать моду...

Модульное тестирование Java с помощью JUnit — Учебное пособие — Как создавать и использовать моду...

Топ технологий 2025г. Выставка автомобилей в г.Гуанчжоу.

Топ технологий 2025г. Выставка автомобилей в г.Гуанчжоу.

Kubernetes — Простым Языком на Понятном Примере

Kubernetes — Простым Языком на Понятном Примере

Как производятся микрочипы? 🖥️🛠️ Этапы производства процессоров

Как производятся микрочипы? 🖥️🛠️ Этапы производства процессоров

Интерфейсы на C++ для Unreal Engine за 4 минуты!

Интерфейсы на C++ для Unreal Engine за 4 минуты!

БАЗА по КОМПИЛЯЦИИ C++ на примере ClickHouse

БАЗА по КОМПИЛЯЦИИ C++ на примере ClickHouse

The Thinking Game | Full documentary | Tribeca Film Festival official selection

The Thinking Game | Full documentary | Tribeca Film Festival official selection

ООП На Простых Примерах | Объектно-Ориентированное Программирование

ООП На Простых Примерах | Объектно-Ориентированное Программирование

Unreal Pointers - Garbage Collection, Smart Pointers, Class Ptr, and Soft Pointers - UE C++ Tutorial

Unreal Pointers - Garbage Collection, Smart Pointers, Class Ptr, and Soft Pointers - UE C++ Tutorial

Программирование с использованием математики | Лямбда-исчисление

Программирование с использованием математики | Лямбда-исчисление

Все возможности C# за 10 минут

Все возможности C# за 10 минут

Почему взрываются батарейки и аккумуляторы? [Veritasium]

Почему взрываются батарейки и аккумуляторы? [Veritasium]

Actor Component Replication Explored - Networked Components - UE C++ Tutorial

Actor Component Replication Explored - Networked Components - UE C++ Tutorial

10 параметров Windows, которые ОБЯЗАТЕЛЬНО нужно отключить прямо сейчас (ОБНОВЛЕНИЕ 2025 ГОДА)

10 параметров Windows, которые ОБЯЗАТЕЛЬНО нужно отключить прямо сейчас (ОБНОВЛЕНИЕ 2025 ГОДА)

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]