ECS clearly separates the data and the logic operating on that data. This logic in turn is usually executed on an iterative per-frame basis. Apparatus implements this animation-like functionality via a concept called Mechanical. Mechanicals are complex in nature and comprise multiple Mechanics that are executed inside of them.
If you’re going the C++ way, creating your Mechanicals goes like this.
MyMechanicalActor.h
:// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "MechanicalActor.h" #include "MyMechanicalActor.generated.h" /** * */ UCLASS() class MY_API AMyMechanicalActor : public AMechanicalActor { GENERATED_BODY() };
MyMechanicalActor.cpp
:// Fill out your copyright notice in the Description page of Project Settings. #include "MyMechanicalActor.h"
void Tick(float DeltaTime) override;
void AMyMechanicalActor::Tick(float DeltaTime) { // Your mechanical code here... }