언리얼 엔진의 구조체 | 언리얼 엔진 5.5 문서 | Epic Developer Community

• UStruct는 UProperty를 지원하지만 가비지 컬렉션 시스템에 의해 관리되지 않으며 UFunction 함수를 제공할 수 없습니다.

USTRUCT(BlueprintType)   //BlueprintType : 블루프린트와 호환 가능 
struct FMyStruct
{
	GENERATED_BODY()    //이 매크로는 언리얼 오브젝트와 동일함. 이 구조체가 가지고 있는 각종 속성들을 
											//리플렉션을 통해서 활용할 수 있는 기본 뼈대를 제공함. 

	//구조체의 멤버변수에 UPROPERTY 매크로를 추가해주면 
	//리플렉션 기능이 들어가면서 구조체의 멤버변수를 조회하거나, 블루프린트와 연동이 가능해짐. 
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Test")
	int32 MyIntegerMember;
	
	//UPROPERTY를 안붙이면 C++에서만 사용하는거
	int32 NativeOnlyMember;
	
	//구조체에 이렇게 언리얼 오브젝트 포인터를 선언하게된다면 
	//반드시 UPROPERTY()를 붙여줘야지만 자동으로 메모리 관리를 할 수가 있게됨. 
	UPROPERTY()
	UObject* SafeObjectPointer
}

언리얼 구조체 UStruct 특징

KakaoTalk_20241012_003207298.jpg

Student.h

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "Student.generated.h"

/**
 * 
 */
UCLASS()
class UNREALCONTAINER_API UStudent : public UObject
{
	GENERATED_BODY()
	
};