Search
Write a publication
Pull to refresh
4
0

Unreal engine developer

Send message

Custom structure serialization in Unreal Engine

Level of difficultyMedium
Reading time3 min
Views1.7K

Let’s say you’ve created your own USTRUCT in C++ and now you want to serialize it.

Usually, it’s enough to simply mark the desired fields with SaveGame. But here’s the problem — in order for this to work, the fields themselves must support serialization.
Unfortunately, one of our variables doesn’t.

In my case, it’s a struct called FNonSerializableStruct. Because of that, only the second struct gets serialized, even though we marked both with SaveGame.

Read more

UENUM iteration in Unreal Engine

Level of difficultyEasy
Reading time3 min
Views1.3K

I needed to create a category panel for placeable items in the UI — like the ones you see in city-building games. As a legacy, I inherited a ready-made UENUM, which may be modified in the future.

Naturally, I didn’t want to manually create and tweak every single widget — especially knowing that the list of categories might change later. I wanted something simple and reusable: just run a For each loop, generate everything on the fly, and ideally make it work for any enum, not just this one.

And there was a way! When you define a UENUM, Unreal automatically generates all the metadata and creates a corresponding UEnum object, which is a UObject. All you have to do is use that data properly.

Read more

Делаем свою Blueprint K2 Node в Unreal Engine

Level of difficultyHard
Reading time14 min
Views1.5K

Иногда надо создать функцию, которая должна быть и доступна в blueprints, и адаптироваться под входные данные. Особенно это касается wildcard.

Можно прибегнуть к ручной прописке рефлексии UFUNCTION. Однако, у этого есть свои ограничения. Для таких случаев в движке есть довольно старый класс – UK2Node.

Читать далее

Кастомная сериализация структур в UE

Level of difficultyMedium
Reading time3 min
Views1.1K

Допустим, вы создали свою USTRUCT в C++ и хотите её сериализовать.

Обычно, достаточно просто пометить нужные поля как SaveGame. Но вот проблема, для этого они сами должны поддерживать сериализацию. К сожалению, одна из наших переменных ее не поддерживает. В моем случае, это структура FNonSerializableStruct. Из-за этого сериализуется только вторая структура, хоть мы и пометили SaveGame обе.

Читать далее

Асинхронность в blueprints и Unreal Engine

Level of difficultyEasy
Reading time3 min
Views2.2K

Если вы давно работаете с unreal engine, то точно должны знать, что в движке есть различные ноды, которые можно вызвать сейчас, а получить результат функции потом, да еще и продолжить логику, когда функция выполнится.

Читать далее

Итерация по UENUM в Unreal Engine

Level of difficultyEasy
Reading time3 min
Views1.1K

Понадобилось мне создать панель категорий размещаемых предметов в UI. Как в градостроительных симуляторах. В наследие мне достался уже готовый UENUM, который в будущем будет изменен.

Естественно, очень не хотелось вручную перемещать и настраивать каждый отдельный виджет. Так еще и заниматься этим в будущем с изменениями категорий. Хотелось чего-то простого и универсального. Чтобы вот вызвал условный For Each Loop и сгенерировал все как надо, еще и не обязательно только для этого енама.

Выход был найден! Если мы создаем UENUM, то unreal сам генерирует всю нужную информацию и создает для нас UEnum класс, который является UObject. Нужно лишь правильно использовать эту информацию.

Читать далее

Information

Rating
Does not participate
Registered
Activity

Specialization

Game Developer
Middle
C++
Unreal Engine
Game Development
AR and VR development
Git
GitHub
GitLab
Python
AutoHotKey