// ...
// Unreal Header Tool이 빌드 시 자동 생성
#include "MyObject.generated.h"
// 클래스를 리플렉션 시스템에 등록한다
UCLASS()
// MYPROJECT_API 매크로는 해당 클래스의 기능을 다른 모듈에서 쓸 수 있게 해준다
// 요게 없으면 다른 모듈에서 사용 시 심볼을 Link할 수 없어서 Link 에러가 발생한다
class MYPROJECT_API UMyObject : public UObject
{
// MyObject.generated.h에서 이 매크로를 정의한다
GENERATED_BODY()
};
// 오브젝트 생성
UMyObject* MyObject = NewObject<UMyObject>();
// Component 생성
UMyObject::UMyObject()
{
MyActorComponent = CreateDefaultComponent<UMyActorComponent>(TEXT("MyActorComponent"));
}
// Actor 생성
// ...
AActor* MyActor = GetWorld()->SpawnActor<UMyActor>(SpawnInfo);