Я решил написать эту небольшую шпаргалку, чтобы самому разобраться в отличиях между делегатами. Потому что раньше, чтобы ответить на вопрос: "Какой делегат использовать сейчас?" мне приходилось лазить по туториалам и докам, собирая всю информацию вместе.
Сейчас проводим набор на стажировку в компанию, в тестовом у нас есть вопрос про различия делегатов.
Почти у всех вижу, что динамик делегаты можно сериализовать, но почему то никто не пишет, что динамик делегаты биндят функцию по имени, а не по адресу и по этому могут быть использованы в блюпринтах, считаю это упущением данной статьи.
На мой взгляд основное отличие dynamic делегата от статического это именно то, как происходит бинд, от сюда вытакает и все остальное и дает более понимание о механизмах работы.
То есть именно потому что динамик делегат знает имя функции он может быть сериализован, использован в блюпринтах и требует UFUNCTION(). По этому же он и медленнее. Так же хочу заметить, что юникаст динамик делегат тоже может быть использован в блюпринтах как инпут-пин функции.
ну вы посморите какой умный
Их можно байндить по имени функции - все верно. Но если мне не изменяет память - в блюпринтах их всё-таки использовать нельзя. Проверить сейчас не могу 🤷🏻♂️
И кстати по адресу их тоже можно байндить