C++ Script

기초

Unreal Engine (이하 UE) 의 최소 단위는 UObject 이다
UObject 에서 파생되는 클래스를 UCLASS 매크로가 지정해준다!
UObject → Constructor 가 없거나 단순해야 한다

UObject 생성

1.
NewObject<class>
2.
CreateDefaultSubobject<class>
메모리 할당자, 소멸자 사용금지! = new, delete → 메모리 자동 관리에서 벗어나게 된다

UObject Header 구성

#pragma once #include 'Object.h' #include 'MyObject.generated.h' // UObject 파생 클래스를 알리는 UE 기본 매크로 UCLASS() // class [모듈명] [클래스명]: public [extends 할 클래스, 인터페이스] class MYPROJECT_API UMyObject : public UObject { // UObject 에서 필요한 핖수 매크로 구문 GENERATED_BODY() };
C++
복사

UObject 의 필드 값

UProperty 로 지정하면 UE 에서 자동으로 가비지 컬렉션 해준다
기본 c++ 기능을 사용하면, 자동 가비지 컬렉팅이 안되다 → 가바지 컬렉팅의 방지가 될수도 있지만, 직접 관리해야하는 위험성이 따른다.
UE 에서 관리하는 포안터 변수의 경우 null 이 될 경우 자동으로 삭제가 된다 → 주의할 것!!
UPROPERTY 는 자동으로 Serialize 등의 기능을 포함한다