본문 바로가기
Unreal

[UE5] EditAnywhere 와 BlueprintReadWrite 의 의미

by Oz Driver 2026. 2. 25.

언리얼에서 UPROPERTY 옵션 중에서 EditAnywhere 과 BlueprintReadWrite 에 대해 알아보겠습니다. 

 

먼저 EditAnywhere 에서 “Anywhere” 는 모든 곳에서 접근 가능하다는 뜻이 아니라, 값을 수정할 수 있는 편집 위치가 여러 곳이라는 의미입니다. 언리얼에서는 같은 변수라도 여러 위치에서 값을 변경할 수 있습니다.

예를 들어 다음과 같은 위치가 존재합니다.

 

  •  블루프린트 기본값

  •  레벨(월드) 에 배치된 액터 인스턴스

  •  부모 블루프린트를 상속한 자식 블루프린트

 

이 편집 위치 범위를 어떻게 허용할 것인지에 따라 Edit 옵션이 나뉩니다.

EditAnywhere

이 옵션을 사용하면 여러 편집 위치에서 값을 수정할 수 있습니다.

 

  •  블루프린트 기본값에서 수정 가능

  •  레벨(월드)에 배치된 액터 인스턴스별로 수정 가능

  •  부모 블루프린트를 상속한 자식 블루프린트에서 재설정 가능

 

수정 가능한 위치가 여러 곳이기 때문에 Anywhere라는 이름이 붙었습니다.

UPROPERTY(EditAnywhere)
float Speed;

 

EditDefaultsOnly

이 옵션은 기본값(Default)에서만 수정할 수 있습니다.
 

  •  블루프린트 기본값 수정 가능

  •  월드 인스턴스에서는 수정 불가

 

모든 인스턴스가 동일한 값을 유지해야 할 때 사용합니다.

 

EditInstanceOnly

이 옵션은 월드에 배치된 인스턴스에서만 수정할 수 있습니다.

 

  •  블루프린트 기본값 수정 불가

  •  레벨에 배치된 액터별로 값 수정 가능

 

레벨 상황에 따라 개별 조정이 필요할 때 사용합니다.

 

다음으로 BlueprintReadWrite 는 완전히 다른 기능을 담당합니다.

BlueprintReadWrite는 블루프린트 그래프에서 변수에 접근하고 값을 변경할 수 있도록 허용하는 옵션입니다.
여기서 그래프란 Event Graph나 Function Graph처럼 노드를 연결해 게임 로직을 작성하는 영역을 의미합니다.

UPROPERTY(BlueprintReadWrite)
float Speed;
 

이 옵션이 있으면 블루프린트 그래프에서 변수를 읽거나(Get) 값을 변경(Set) 할 수 있습니다.

 

EditAnywhere 만 사용할 경우

UPROPERTY(EditAnywhere)
float Speed;
 

이 경우 Details 패널에서는 값을 수정할 수 있지만, 블루프린트 그래프에서는 변수에 접근할 수 없습니다.

 

EditAnywhere와 BlueprintReadWrite를 함께 사용할 경우

UPROPERTY(EditAnywhere, BlueprintReadWrite)
float Speed;
 

이 경우 에디터에서 값 수정이 가능하고, 블루프린트 그래프에서도 변수 값을 읽고 변경할 수 있습니다.

 

핵심 정리

EditAnywhere 는 값을 수정할 수 있는 편집 위치의 범위를 결정합니다.
BlueprintReadWrite 는 블루프린트 그래프에서 변수 값을 읽고 변경할 수 있게 해줍니다.