커스텀 빌드
이 페이지에서는 커스텀 UE5 빌드에 Dash를 설치하는 과정을 설명합니다. 몇 가지 유의사항:
Dash는 UE5.1 이상에서만 호환됩니다.
대부분의 경우 과정은 비교적 간단하지만, 커스텀 UE5 빌드가 기본 엔진 소스에서 크게 변경된 경우 문제(힉업)가 발생할 수 있으니 [email protected]로 연락하시길 권장합니다.
보통 기업에는 라이브 가이던스를 제공하고 아티스트들과 직접 피드백을 주고받을 수 있는 공유 Slack 채널로 초대합니다. 연락 주세요!
크래시 리포팅, 분석, AI 기능 등을 끄려면 특정 환경 변수를 설정할 수 있습니다. 이 주제에 대한 자세한 정보는 아래에 있습니다.
그럼 시작해 보겠습니다.
빌드 방법은 두 가지가 있으며, 첫 번째는 플러그인 빌드이고 두 번째는 소스 빌드입니다. 두 파일은 다음 Google Drive에 위치합니다: polygonflow.io/latest-source-build이며, 아래의 서로 다른 지침을 확인하여 선호하는 빌드 방법을 선택할 수 있습니다.
빌드 방법:
옵션 1: 플러그인 빌드 지침
이것은 일반적인 언리얼 엔진 플러그인 구조이므로 가장 직관적인 배포 모드입니다. Epic Games 플러그인 가이드 를 정상적으로 적용할 수 있습니다.
먼저 Google Drive에서 Plugin Build 폴더를 열고, Google Drive 그런 다음 설치하려는 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가 다운로드하기 때문에 추가로 약간 더 늘어날 수 있습니다.
컴파일
Dash 플러그인은 일반적인 언리얼 엔진 코드 플러그인 구조를 준수하며 C++ 프로젝트 내에서 컴파일할 수 있거나, 언리얼 자동화 스크립트를 사용하거나또는 도구→플러그인 메뉴의 “패키지” 버튼을 사용하여 컴파일할 수 있습니다. 이를 통해 사용자는 커스텀 엔진용으로 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 폴더를 배치한 위치로, 설치 관리자를 사용하는 경우에는 설치 디렉터리로 설정하세요..uproject 파일을 탐색기에서 오른쪽 클릭하고 “Visual Studio 프로젝트 파일 생성(Generate Visual Studio project files)”을 선택하여 비주얼 스튜디오 프로젝트를 생성하세요

Visual Studio나 Rider에서 솔루션을 열고 거기서 빌드하세요. 자세한 내용은 공식 문서.
Python에서 사용하기
플러그인은 파이썬 인터프리터에 일부 기능을 노출하며, 언리얼이 자동으로 파이썬 스텁을 생성하도록 할 수 있으므로 IDE에서 이를 로드할 수 있습니다.
언리얼 엔진을 열고 플러그인을 활성화하세요. 그러면 다음이 활성화됩니다. Python Script Plugin 및 Editor scripting utilities 플러그인들이
프로젝트 설정으로 가서 개발자 모드를 활성화하세요

에디터를 재시작하세요.
확인하세요
PROJECT_ROOT/Intermediate/PythonStub/unreal.py이 파일을 IDE에 추가하면 내보낸 함수들에 대한 자동 완성을 사용할 수 있습니다
버전 관리에서 제외할 항목
두 빌드 유형 모두에서 버전/소스 제어에서 제외할 수 있는 항목:
Plugins/UnrealEngineContext/Imports/thirdparty(약 2GB) - 이 폴더는 사용자 머신별로 생성되어 Python 패키지를 포함하게 됩니다Modules/GN/ContentLibrary/Backends/IESLibrary/IesLibraryContents(약 28MB) - 이 폴더는 동일한 폴더에 위치한IesLibraryContents.zip에서 추출됩니다ThirdPartyLicenses- 기능에는 영향 없으며 선택 사항입니다__pycache__- Python이 생성한 파일*.pyc- Python이 생성한 파일*.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에서 추가하는 문서 폴더의 자동 쓰기 보호(보호된 폴더)를 끄세요.
metadata.json 또는 다른 Dash 파일을 Perforce 등의 리비전 제어에서 항상 쓰기 가능하도록 표시한 다음 설치 과정을 처음부터 다시 수행할 수 있습니다.
모든 아티스트 머신에 플러그인을 설치해야 하나요?
Dash를 실행하려면 두 가지 구성 요소가 필요합니다:
언리얼 C++ 플러그인
Dash Python 플러그인
플러그인을 모든 아티스트 머신에 설치하거나, 커스텀 빌드된 C++ 플러그인과 함께 버전 관리로 직접 배포할 수 있습니다.
C++ 플러그인의 의존성은 무엇인가요?
C++ 레이어의 의존성 목록은 다음과 같습니다:
마이크로소프트의 메모리 라이브러리 (언리얼도 사용)
mimalloc.lib
Dash 내부 종속성
IndexMeshSymbols.lib_math.lib_array.libmeshoptimizer.lib_gnmesh.lib
Dash Python 플러그인의 의존성은 무엇인가요?
Dash는 일련의 내부 및 서드파티 라이브러리에 의존합니다. 다음 목록은 변경될 수 있으나, 작성 시점에서는 다음 서드파티 라이브러리들을 사용합니다:
abseileigenembreeOpenSubdivPhysixtbbrobin-hood-hasingtinysplineFastNoise2fast_obj
unordered_denseblinkerboto3botocorecertifidateutiljmespathorjsonpytzsemvers3transfersentry_sdkurllib3numpyPILPySide6scipysklearnshiboken6torch_redstone
일부는 순수 파이썬 모듈이고 일부는 파이썬 모듈 내부에서 사용하는 C++ 라이브러리입니다.
새 릴리스마다 플러그인을 다시 컴파일해야 하나요?
예. 커스텀 언리얼 버전을 사용하는 경우 C++ 플러그인을 다시 컴파일하고 해당하는 Dash Python 플러그인을 함께 재배포하는 것은 귀하의 책임입니다. 구조가 이미 준비되어 있다면 프로젝트를 다시 생성하고 빌드하는 작업은 간단해야 합니다. 릴리스 간에 변경될 수 있으므로 init_unreal.py도 업데이트해야 하는지 확인하세요.
새 Dash 버전이 출시되면 Dash 내에서 직접 알림을 받게 되며, 알림을 받으면 항상 여기에서 최신 ZIP을 다운로드할 수 있습니다: https://www.polygonflow.io/download-latest-source-build
C++ 플러그인을 컴파일할 때 경고가 발생하면 어떻게 해결하나요?
Dash는 지속적으로 진화하고 있으며, 우리의 최우선 과제는 아티스트와 스튜디오에 워크플로우를 개선할 수 있는 지속적인 업데이트와 새로운 도구를 제공하는 것입니다. 이러한 빠른 개발 속도는 때때로 우리가 인지하고 있고 치명적이지 않은 컴파일 경고를 남길 수 있습니다. 이들은 업데이트 과정에서 수정될 수 있지만, 경고를 전혀 허용하지 않는 정책이라면 발생하는 경고들을 직접 처리해야 할 수 있습니다.
리소스 오류 - 프로젝트에 파일을 복사할 수 없음
Perforce나 다른 버전 관리 소프트웨어를 사용 중이고 Dash를 열 때 리소스 업데이트 팝업이 표시되며 리소스 오류가 발생하는 경우 다음을 수행하세요:
Dash 1.9.2 이상을 사용 중이라면 5단계로 이동하세요
UE를 닫으세요,
PC 폴더 탐색기에서 다음 경로를 여세요: DASH_INSTALL_ROOT\Plugins\UnrealEngineContext\Imports\GN,
그런 다음 여기의 ContentUtils.py 파일을 다음 파일로 교체하세요: https://drive.google.com/drive/folders/129GZoD6borfOGJ4-sGD_VTAdVMtMgbKr?usp=sharing
그런 다음 UE를 열고 업데이트 팝업에서 업데이트를 클릭하지 말고 무시(닫기)하세요
그런 다음 메인 Dash 메뉴를 통해 Dash 환경설정을 열고 콘텐츠 설정 섹션에서 사용할 수 있는 새 "리소스 획득 건너뛰기(Skip Resource Acquisition)" 설정을 확인하세요
그다음에는 다음에 Dash를 열 때 업데이트 팝업이 나타나지 않을 것입니다
나중에 Dash 업데이트가 있을 때, 한 사람이(프로젝트와 플러그인을 설정한 사람 등) 다음 단계를 수행하여 새 리소스 데이터를 가져와 Perforce를 통해 팀 전체와 공유해야 합니다:
새 버전의 Dash를 설치하세요
프로젝트의 Content 폴더 아래에 있는 Polygonflow 폴더를 Perforce에서 잠금 해제하여 쓰기 가능하도록 만드세요.
Dash 환경설정에서 리소스 획득을 다시 켜세요
프로젝트와 Dash를 열고 팝업을 통해 업데이트를 실행하세요
이제 새로운 업데이트 파일들이 Perforce에 추가되어 팀의 모든 사용자가 사용할 준비가 되었습니다.
마지막 업데이트
도움이 되었나요?