Создание класса

Установите C++-инструменты для своей версии UE5. Через меню создания C++-класса выберите Actor и назовите его RotatingActor. В сгенерированном классе уже будут объявления конструктора и Tick. Сохраните модульный API-макрос и generated.h из шаблона.

Ниже приведены фрагменты для сгенерированных файлов, а не самостоятельная программа. Удалите дублирующиеся определения конструктора и Tick при замене шаблонного кода.

Свойство и вращение

Внутри объявления ARotatingActor в заголовочном файле добавьте:

public:
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Movement")
    float RotationSpeed = 45.0f;

В файле реализации замените соответствующие методы:

ARotatingActor::ARotatingActor()
{
    PrimaryActorTick.bCanEverTick = true;
}

void ARotatingActor::Tick(float DeltaTime)
{
    Super::Tick(DeltaTime);
    AddActorLocalRotation(
        FRotator(0.0f, RotationSpeed * DeltaTime, 0.0f)
    );
}

Видимый объект на уровне

Создайте Blueprint-наследник RotatingActor. Добавьте Static Mesh, назначьте куб и сделайте его корнем с Mobility = Movable. Сам базовый Actor без геометрии не будет виден.

Соберите проект, поместите Blueprint на уровень и запустите Play. Значение RotationSpeed доступно в Details благодаря UPROPERTY. После изменения структуры класса безопаснее остановить редактор и выполнить полную сборку через IDE.