블루프린트는 프로젝트에서 런타임 게임플레이를 생성할 때만 유용한 것이 아닙니다. 언리얼 에디터 내에서 프로젝트 콘텐츠와 상호작용할 때도 매우 효과적인 툴이 될 수 있습니다. 필요에 따라 에디터에서 블루프린트 그래프를 실행하면 에셋 작업, 레벨에 콘텐츠 배치, 에디터 UI에서 액션 트리거, 심지어 자체 커스텀 UI 패널로 에디터 확장도 가능합니다.
이 페이지에서는 블루프린트를 사용하여 언리얼 에디터를 스크립팅하고 자동화하는 데 관련된 몇 가지 기초를 설명합니다.
언리얼 엔진의 이전 버전에서는 에디터에서 실행되도록 설계된 블루프린트 그래프를 블루프린트 유틸리티(Blueprint Utilities)를 줄인 말인 Blutilities 라고 했습니다. 여전히 해당 용어를 볼 수 있지만 이제 에디터 유틸리티 위젯(Editor Utility Widgets) 및 에디터 유틸리티 블루프린트(Editor Utility Blueprints)로 표준화했습니다.
에디터에서의 블루프린트 실행 옵션
언리얼 에디터에서 블루프린트 그래프를 실행하기로 했다면, 블루프린트 코드를 구성하고 트리거하는 데 사용할 수 있는 몇 가지 기술이 있습니다.
에디터 유틸리티 위젯
에디터 유틸리티 위젯은 에디터 UI의 다른 모든 툴에 사용되는 것과 동일한 종류의 도킹 가능한 패널에서 언리얼 에디터가 렌더링할 수 있는 UMG 위젯입니다. 이 접근법은 블루프린트를 제어하기 위해 풍부한 UI가 필요할 때 가장 좋습니다. 블루프린트의 풍부한 스크립팅 컨트롤과 결합하여 UMG의 모든 시각적 스타일링 옵션을 활용할 수 있습니다. 이는 가장 유연하고 강력한 옵션이지만 시작하기가 매우 간단하며 대부분의 에디터 스크립팅 작업에 권장됩니다.
에디터 유틸리티 위젯을 생성하고 에디터에서 여는 방법에 대한 자세한 정보는 에디터 유틸리티 위젯을 참조하세요.
%setting-up-your-production-pipeline/scripting-and-automating-the-editor/Blueprints/editor-utility-widgets:Topic%
에디터 유틸리티 블루프린트
에디터 유틸리티 블루프린트는 런타임이 아닌 언리얼 에디터 내에서만 실행해야 하며 커스텀 UI가 필요하지 않은 로직을 위한 특수한 종류의 클래스입니다.
이 클래스의 기본 사용 사례 중 하나는 스크립팅된 액션 지원입니다. 스크립팅된 액션은 레벨의 액터나 콘텐츠 브라우저의 에셋을 우클릭하면 나타나는 컨텍스트 메뉴에서 트리거되는 그래프입니다.
자세한 정보는 스크립팅된 액션을 참조하세요.
에디터에서 호출
블루프린트 클래스에서 커스텀 이벤트나 함수를 생성할 때, 에디터에서 해당 이벤트나 함수를 호출 가능으로 표시할 수 있습니다. 해당 블루프린트 클래스의 인스턴스를 레벨에 배치하고 선택하면 디테일(Details) 패널에서 커스텀 이벤트나 함수를 트리거할 수 있습니다. 이 접근법은 런타임과 에디터 모두에서 작동하는 블루프린트 그래프가 필요할 때 사용하는 것이 가장 좋습니다.
자세한 정보는 에디터에서 블루프린트 호출하기를 참조하세요.
시작 오브젝트
프로젝트의 특정 에디터 유틸리티 위젯 클래스와 에디터 유틸리티 블루프린트 클래스를 시작 오브젝트로 식별할 수 있습니다. 에디터가 프로젝트를 로드할 때마다 이러한 시작 오브젝트 각각의 인스턴스를 자동으로 생성하고 사전 정의된 함수를 호출합니다. 프로젝트가 로드될 때 항상 특정 액션을 수행하기 위해 블루프린트 클래스가 필요한 경우, 또는 에디터에서 프로젝트 콘텐츠 작업 시 발생하는 이벤트에 블루프린트 로직을 항상 바인딩해야 하는 경우에 좋은 옵션입니다.
자세한 정보는 에디터 시작 시 블루프린트 실행하기를 참조하세요.
에디터 전용 블루프린트 노드에 액세스하기
에셋 파일 수정이나 언리얼 에디터 UI 작업과 관련된 대부분의 연산은 런타임 시 게임에서 작동하지 않습니다. 따라서 이와 같은 에디터 전용 기능, 타입이 에디터(Editor)
로 설정된 모듈에 정의된 모든 함수는 에디터 전용인 블루프린트 클래스에서만 액세스할 수 있습니다.
예를 들어 기본 액터 클래스와 같이 런타임에 사용할 수 있는 부모 클래스에서 파생된 블루프린트 클래스를 사용하는 경우 블루프린트 에디터의 에디터 스크립팅(Editor Scripting) 카테고리 아래에 제한된 함수 세트가 나열됩니다. 하지만 에디터 유틸리티 블루프린트, 에디터 유틸리티 위젯, 또는 에디터 전용 부모 클래스에서 파생되는 노멀 블루프린트 클래스를 생성하면 사용할 수 있는 함수 세트가 훨씬 더 크고 포괄적인 것을 볼 수 있습니다.
![]() |
![]() |
액터 클래스 | EditorUtilityActor 클래스 |
에디터 스크립팅 유틸리티(Editor Scripting Utilities) 플러그인을 설치했다면, 여기서 스태틱 메시 및 다른 종류의 에셋 작업을 위해 노출되는 함수를 찾을 수 있습니다. 에디터 스크립팅 및 자동화하기를 참조하세요.
에디터 유틸리티 서브시스템
언리얼 에디터는 시작 시 에디터의 스크립팅 기능 동작을 관리하기 위해 특별히 고안된 서브시스템을 초기화합니다. 예를 들어 이 서브시스템은 시작 오브젝트의 생성 및 정리, 에디터 유틸리티 위젯을 위한 새 에디터 패널의 생성 및 폐기 처리를 담당합니다.
자신만의 C++ 또는 블루프린트 코드에서 에디터 유틸리티 서브시스템을 직접 사용할 수도 있습니다. 예를 들어 에디터 유틸리티 서브시스템을 얻고 SpawnAndRegisterTab()
메서드를 호출하여 프로젝트에서 에디터 유틸리티 위젯 클래스의 인스턴스를 호스팅하는 에디터 UI에서 새 패널을 프로그래밍 방식으로 열 수 있습니다.
서브시스템에 대한 자세한 정보와 C++, 블루프린트, Python에서 서브시스템에 액세스하고 사용하는 방법은 서브시스템 프로그래밍하기를 참조하세요.