사용자 지정 빌드
이 페이지에서는 커스텀 UE5 빌드에 Dash를 설치하는 과정을 설명합니다. 몇 가지 유의사항:
Dash는 UE5.1 이상에서만 호환됩니다.
대부분의 경우 과정은 비교적 간단하지만, 커스텀 UE5 빌드가 기본 엔진 소스에서 크게 변경된 경우 문제가 발생할 수 있으므로 [email protected]로 연락하는 것을 권장합니다.
우리는 보통 회사들을 실시간 가이던스를 제공하고 아티스트와 직접 피드백을 주고받을 수 있는 공유 Slack 채널로 초대합니다. 연락주세요!
충돌 보고, 분석, AI 기능 등을 끄려면 특정 환경 변수를 설정할 수 있습니다. 이 주제에 대한 자세한 정보는 아래에 나옵니다.
그럼 시작해봅시다.
빌드 방법은 두 가지가 있으며, 첫 번째는 플러그인 빌드이고 다른 하나는 소스 빌드입니다. 두 파일은 다음 Google Drive에 있습니다: polygonflow.io/latest-source-build이며, 아래의 다른 지침을 확인하여 선호하는 빌드 방법을 선택할 수 있습니다.
빌드 방법:
옵션 1: 플러그인 빌드 지침
이는 일반적인 언리얼 엔진 플러그인 구조이기 때문에 가장 간단한 배포 방식입니다. Epic games 플러그인 가이드 를 정상적으로 적용할 수 있습니다.
먼저 Google Drive 에서 Plugin Build 폴더를 열고 설치하려는 Dash 버전에 해당하는 폴더를 엽니다. 여기에는 지원하는 각 UE 버전별로 하나의 zip이 있으므로 특정 UE 버전용 zip만 다운로드하면 됩니다.
zip을 다운로드하여 압축을 푼 후, Dash 폴더를 다음 위치 아래에 배치할 수 있습니다. PROJECT_ROOT/Plugins 또는 ENGINE_ROOT/Engine/Plugins 처럼 플러그인 가이드.
Python 종속성 설치
Dash Python 코드는 다음에 위치합니다. PLUGIN_ROOT/Content/Python 이는 언리얼의 Python에서 자동으로 사용 가능합니다. init_unreal.py 는 수정이 필요 없으며 모든 사용자에게 항상 유효합니다.
Dash 플러그인 설치 후 언리얼 엔진을 처음 시작하면 Dash는 Python 종속성을 다음 경로에 설치합니다. PLUGIN_ROOT/Content/Python/Plugins/UnrealEngineContext/Imports/311/ 언리얼 엔진 5.4+의 경우, 그리고 PLUGIN_ROOT/Content/Python/Plugins/UnrealEngineContext/Imports/39/ 언리얼 엔진 5.1-5.3의 경우에 설치됩니다.
이 과정은 프로젝트당 한 번(프로젝트별로 Dash를 설치한 경우) 또는 엔진 버전당 한 번(엔진에 Dash를 설치한 경우) 발생합니다. 디스크 공간을 절약하려면 Dash를 Engine/Plugins아래에 설치하는 것이 권장됩니다. 예시 엔진 경로: ENGINE_ROOT/Engine/Plugins/GraphNUnrealPlugin, ENGINE_ROOT/Engine/Plugins/Polygonflow/GraphNUnrealPlugin, ENGINE_ROOT/Engine/Plugins/Whatever/GraphNUnrealPlugin.
디스크 공간 사용량
Dash 플러그인 크기는 ~1GB 설치 직후에는 약 ~3GB이고, 여기에 추가로 에셋의 썸네일 이미지 같은 에셋 메타데이터를 다운로드하면 더 늘어날 수 있습니다.
컴파일
Dash 플러그인은 일반적인 언리얼 엔진 코드 플러그인 구조를 따르며 C++ 프로젝트 내에서 컴파일할 수 있고, unreal 자동화 스크립트를 사용하거나또는 도구→플러그인 메뉴의 “패키지” 버튼을 사용하여 컴파일할 수 있습니다. 이를 통해 사용자들은 커스텀 엔진용으로 Dash를 빌드할 수 있습니다.
제거(언인스톨)
GraphNUnrealPlugin 폴더를 다음에서 제거하면 됩니다. Engine/Plugins 또는 PROJECT_ROOT/Plugins
다음도 함께 제거하세요. Documents/Polygonflow 폴더
옵션 2: 소스 빌드 지침
이 빌드 옵션의 경우, 먼저 Google Drive Source Build 폴더를 열고 설치하려는 Dash 버전의 zip을 다운로드하세요.
이 ZIP 파일에는 다음이 포함되어 있습니다:
Dash: 이 폴더는 설치 프로그램에서 복사된 파일을 포함합니다. 설치 없이 버전 관리나 공유 폴더를 통해 플러그인을 배포할 수 있게 해줍니다.
GraphNUnrealPlugin: 이 디렉토리는 커스텀 엔진 빌드에 Dash를 통합하는 데 필요한 C++ 코드를 포함합니다.
init_unreal.py: 모든 아티스트의 머신에 Dash를 설치하지 않기로 선택한 경우, 이 개발자 파일은 플러그인의 Python 부분을 시작하는 진입점 역할을 합니다.
그런 다음 빌드할 시간입니다!
새로운 언리얼 C++ 프로젝트를 생성하세요
플러그인을 프로젝트의
Plugins폴더에 넣으세요(Plugin 폴더가 없으면 생성). 결과는Plugins\\GraphNUnrealPluginZIP에 포함된
init_unreal.py파일을 프로젝트 안에 복사하세요Plugins/GraphNUnrealPlugin/Content/Python를 통해 플러그인이Dash및 그 라이브러리들을 인식할 수 있게 하거나 그렇지 않으면ModuleNotFoundError: No module named 'GN'와 같은 오류가 발생할 수 있습니다.
init_unreal.py플러그인을 배포하려면 Dash 폴더를 배치한 위치로, 설치 프로그램을 사용하는 경우에는 설치 디렉토리로파일의 끝 부분에 있는 경로를 편집하세요.

우클릭하여 프로젝트 파일을 생성하세요 비주얼 스튜디오나 Rider에서 솔루션을 열고 거기서 빌드하세요. 자세한 정보는.
공식 문서
에서 확인하세요.
Python에서 사용하기 플러그인은 파이썬 인터프리터에 일부 기능을 노출하며, 언리얼이 파이썬 스텁을 생성하게 하여 IDE에서 로드할 수 있게 할 수 있습니다. 언리얼 엔진을 열고 플러그인을 활성화하세요. 그러면 다음이 활성화됩니다. Python Script Plugin 및
Editor scripting utilities

프로젝트 설정으로 가서 개발자 모드를 활성화하세요
개발자 모드는 자동 완성을 위한 파이썬 스텁을 생성합니다
에디터를 재시작하세요.다음을 확인하세요.
PROJECT_ROOT/Intermediate/PythonStub/unreal.py
이 파일을 IDE에 추가하면 내보낸 함수들에 대한 자동 완성을 사용할 수 있습니다.
버전 관리에서 제외할 항목두 빌드 유형 모두에서 버전/소스 관리에서 제외할 가능성이 있는 파일들:Plugins/UnrealEngineContext/Imports/thirdparty(~2 GB) - 이 폴더는 사용자 머신별로 생성되고 채워지며 Python 패키지를 포함합니다Modules/GN/ContentLibrary/Backends/IESLibrary/IesLibraryContents(~28 MB) - 이 폴더는 동일한 폴더에 있는IesLibraryContents.zip에서 추출됩니다.ThirdPartyLicenses- 기능에 영향이 없으며 선택 사항입니다__pycache__- 기능에 영향이 없으며 선택 사항입니다- Python이 생성합니다*.pyc*.pdf- EULA 같은 법적 문서, 선택 사항
*.md
- 법적 문서 및 내부 문서, 선택 사항
Dash 환경 변수 Dash 환경 변수 지침.

특정 환경 변수를 설정하여 Dash에서 특정 기능과 옵션의 사용 가능 여부를 제어할 수 있습니다. "1", "yes", "true"의 사용은 모두
참(true) 로 인식됩니다..
DASH_CRASH_REPORT_ENABLED
파일 경로를 포함할 수 있는 충돌 보고를 활성화하거나 비활성화합니다.
기본값 = 로 인식됩니다.
활성화됨
DASH_UPDATE_CHECK_ENABLED 로 인식됩니다.
시작 시 업데이트 확인을 활성화하거나 비활성화합니다. 업데이트 확인은 Dash가 처음 나타나는 언리얼 에디터 세션에서 한 번 발생합니다. Dash는 최신 버전 정보를 가져오기 위해 당사의 Cloudflare 서버에 요청을 보냅니다.
기본값 -
DASH_ANALYTICS_ENABLED 로 인식됩니다.
Dash 사용 텔레메트리(분석)를 활성화하거나 비활성화합니다. Dash는 주기적으로 사용 데이터를 당사의 MongoDB 클러스터로 전송합니다. 기본값 -
DASH_REGISTER_PREFERENCES_FOR_ANALYTICS 이 옵션을 활성화하면 분석 옵션을 제어하는 토글이 Dash 환경설정 UI에 추가됩니다.
기본값 -
DASH_OPEN_AI_ENABLED
우리의 OpenAI Enterprise API 계정을 통해 AI 어시스턴트와 AI 에셋 태깅을 활성화하거나 비활성화합니다. 기본값 - 로 인식됩니다.
활성화
DASH_REGISTER_PREFERENCES_FOR_OPEN_AI
이 옵션을 활성화하면 OpenAI Enterprise API를 사용한 AI 기능 활성화 토글 옵션이 Dash 환경설정 UI에 추가됩니다. 기본값 -
자주 묻는 질문(FAQ)
권한 거부 / 읽기 전용 / 쓰기 보호 파일 - 리비전(버전) 제어 문제
metadata.json 파일과 관련된 권한 거부 또는 읽기/쓰기 오류가 표시되면 다음 두 가지를 시도해 볼 수 있습니다:
Windows Defender가 Windows 11에서 추가하는 문서 폴더의 자동 쓰기 보호를 끄세요. 이는 "보호된 폴더(Protected folder)"입니다.
Perforce 등 버전 관리 시스템에서 metadata.json 또는 다른 Dash 파일들을 항상 쓰기 가능하도록 표시한 다음, 설치 과정을 처음부터 다시 수행하세요.
플러그인을 모든 머신에서 컴파일해야 합니까?
아니요. 빌드에 사용한 것과 동일한 엔진 버전을 사용하는 모든 머신에 대해 사전 빌드된 C++ 플러그인을 배포할 수 있습니다.
플러그인을 모든 아티스트 머신에 설치해야 합니까?
Dash를 실행하려면 두 가지 구성 요소가 필요합니다:
언리얼 C++ 플러그인
Dash Python 플러그인
플러그인을 모든 아티스트 머신에 설치하거나, 버전 관리와 함께 C++ 커스텀 빌드 플러그인과 함께 직접 배포할 수 있습니다.
C++ 플러그인의 종속성은 무엇인가요?
C++ 레이어의 종속성 목록은 다음과 같습니다:
Microsoft의 메모리 라이브러리(언리얼도 사용함)mimalloc.libDash 내부 종속성IndexMeshSymbols.lib_math.lib
_array.lib
meshoptimizer.lib
_gnmesh.libDash Python 플러그인의 종속성은 무엇인가요?Dash는 내부 및 서드파티 라이브러리들에 의존합니다. 다음 목록은 변경될 수 있지만, 작성 시점에 사용되는 서드파티 라이브러리는 다음과 같습니다:abseileigenembreeOpenSubdivPhysixtbbrobin-hood-hasing
tinysplineFastNoise2fast_objunordered_denseblinkerboto3botocorecertifidateutiljmespathorjsonpytzsemvers3transfersentry_sdkurllib3numpyPILPySide6scipy
sklearn
shiboken6
torch_redstone
일부는 순수 파이썬 모듈이고 일부는 파이썬 모듈 내부에서 사용하는 C++ 라이브러리입니다. 새 릴리스마다 플러그인을 다시 컴파일해야 하나요?
예. 커스텀 언리얼 버전을 사용하는 경우, C++ 플러그인을 다시 컴파일하고 해당하는 Dash Python 플러그인을 함께 재배포하는 책임은 사용자에게 있습니다. 구조가 이미 마련되어 있다면 프로젝트를 다시 생성하고 빌드하는 것만큼 간단해야 합니다. 릴리스 간에 변경될 수 있으니 init_unreal.py도 업데이트해야 합니다.
새로운 Dash 버전이 나오면 Dash에서 직접 알림을 받게 되며, 알림을 받으면 항상 여기에서 최신 ZIP을 다운로드할 수 있습니다:
Dash는 지속적으로 진화하고 있으며, 우리의 최우선 과제는 아티스트와 스튜디오에 지속적인 업데이트와 워크플로우 향상 도구를 제공하는 것입니다. 이러한 빠른 개발 속도는 때때로 우리가 인지하고 있으며 치명적이지 않은 컴파일 경고를 남길 수 있습니다. 진행 과정에서 수정될 수 있지만, 경고를 전혀 허용하지 않는 정책이 있다면 발생하는 경고들을 직접 해결해야 할 수도 있습니다.
엔터프라이즈 좌석(라이선스)은 몇 개가 필요합니까?
도구에 접근하고 파라미터를 조정할 권한을 원하는 아티스트에게만 좌석이 필요합니다. 빌드 머신에는 라이선스가 필요하지 않습니다.
리소스 오류 - 프로젝트에 파일을 복사할 수 없습니다
Perforce나 다른 버전 관리 소프트웨어를 사용 중이고 Dash를 열 때 리소스 업데이트 팝업이 나타나며 리소스 오류로 실패한다면 다음을 수행하세요:
Dash 1.9.2 이상을 사용 중이라면 5단계로 이동하세요 언리얼을 종료하세요.
PC 폴더 탐색기에서 이 경로를 여세요: DASH_INSTALL_ROOT\Plugins\UnrealEngineContext\Imports\GN,
그리고 여기 있는 ContentUtils.py 파일을 다음에서 제공되는 파일로 교체하세요:
https://drive.google.com/drive/folders/129GZoD6borfOGJ4-sGD_VTAdVMtMgbKr?usp=sharing
그런 다음 언리얼을 열고 업데이트 팝업을 무시하세요. 즉, 업데이트를 클릭하지 말고 닫으세요.
그런 다음 메인 Dash 메뉴를 통해 Dash 환경설정을 열고 콘텐츠 설정 섹션에 있는 새 "리소스 획득 건너뛰기(Skip Resource Acquisition)" 설정을 확인하세요.
그렇게 하면 다음 번에 Dash를 열 때 업데이트 팝업이 나타나지 않을 것입니다.
나중에 Dash 업데이트가 있을 때, 한 사람이(프로젝트와 플러그인을 설정한 사람 등) 다음 단계들을 수행하여 새 리소스 데이터를 받아 Perforce를 통해 모두와 공유해야 합니다:
새 버전의 Dash를 설치하세요
프로젝트의 Content 폴더 아래에 있는 Polygonflow 폴더의 잠금을 Perforce에서 해제하여 쓰기가 가능하도록 만드세요.
마지막 업데이트
도움이 되었나요?