1. Interface
#pragma once
#include "CoreMinimal.h"
#include "UObject/Interface.h"
#include "Interactable.generated.h"
UINTERFACE(MinimalAPI)
class UInteractable : public UInterface
{
GENERATED_BODY()
};
class GETOUTOF_API IInteractable
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintNativeEvent)
void Interact();
};
우선 BlueprintNativeEvent로 함수를 선언해준다.
2. 블루프린트에서 Interface 구현

Interface를 상속받아서 해당 인터페이스의 함수를 구현한다.
3. C++에서 블루프린트에서 구현한 함수 호출
// 블루프린트, C++의 인터페이스 함수 모두 활용 가능하다.
if (HitActor->GetClass()->ImplementsInterface(UInteractable::StaticClass()))
{
IInteractable::Execute_Interact(DoorHitResult.GetActor());
}
// C++의 인터페이스 함수만 활용할 수 있다
InteractableObject = Cast<IInteractable>(DoorHitResult.GetActor());
if (InteractableObject)
{
IInteractable::Execute_Interact(InteractableObject->_getUObject());
}
'언리얼 엔진 > 트러블슈팅' 카테고리의 다른 글
| [언리얼엔진] Shipping 빌드에서 검정 화면 멈춤 현상 해결기 (0) | 2026.01.29 |
|---|---|
| [언리얼엔진] enum타입 TArray (1) | 2025.08.01 |
| [언리얼엔진] C++ 파일 경로 문제 (0) | 2025.06.18 |
| [언리얼엔진] 3D NavMesh (Flying Navigation System) (1) | 2025.06.05 |
| [언리얼엔진] Behavior Tree 인스턴스 (1) | 2025.05.28 |