Custom Build
In this page, we'll go through the process of installing Dash on a custom UE5 build. Few things to keep in mind:
Dash is only compatible with UE5.1 and above.
In most cases, the process should be fairly straightforward, but if your custom UE5 build has been drastically changed from the base engine source, there might be some hiccups, and we recommend that you reach out to [email protected]
We usually invite companies to a shared Slack channel in which we can provide them live guidance and speak directly with their artists for feedback requests. Please reach out!
In order to turn off crash reporting, analytics, AI features, etc, you can set certain Environment Variables. More info on this topic further down.
With that out of the way, let's dig in.
There are two build methods, the first being Plugin Build and the other being Source Build. The files for both are located in this Google Drive: polygonflow.io/latest-source-build, and you can choose your preferred build method by checking the different instructions below.
Build Methods:
Option 1: Plugin Build Instructions
This is the most straightforward deployment mode, as it’s a normal Unreal Engine plugin structure. Epic games plugins guide can be applied normally.
Start by opening the Plugin Build folder in the Google Drive and then opening the folder corresponding to the Dash version you want to install. Here you will find one zip for each UE version we support, so you only have to download the zip for your specific UE version.
Once the zip has been downloaded and extracted, the Dash folder can be placed under PROJECT_ROOT/Plugins
or ENGINE_ROOT/Engine/Plugins
as described in the plugins guide.
Python Dependencies Installation
Dash Python code lives under PLUGIN_ROOT/Content/Python
Which is automatically available for Unreal’s Python. init_unreal.py
does not need any modifications and is always valid for all users.
When Unreal Engine started for the first time after Dash plugin installation, Dash will install Python dependencies under PLUGIN_ROOT/Content/Python/Plugins/UnrealEngineContext/Imports/311/
for Unreal Engine 5.4+, and under PLUGIN_ROOT/Content/Python/Plugins/UnrealEngineContext/Imports/39/
for Unreal Engine 5.1-5.3
This happens once per project (in case Dash is installed per project). OR once per engine version (in case Dash is installed to the engine). To save disk space, it’s recommended to install Dash under Engine/Plugins
. Example engine paths: ENGINE_ROOT/Engine/Plugins/GraphNUnrealPlugin
, ENGINE_ROOT/Engine/Plugins/Polygonflow/GraphNUnrealPlugin
, ENGINE_ROOT/Engine/Plugins/Whatever/GraphNUnrealPlugin
.
Disk space consumption
Dash plugin size is ~1GB
right after it is installed. Once Python dependencies are installed, the total size is ~3GB
. On top of that, Dash downloads asset metadata like thumbnail images for assets, which may add up a bit more.
Compilation
Dash plugin complies with the normal Unreal Engine code plugin structure, and can be compiled within a C++ project, or using unreal automation scripts, or using the “Package” button from Tools→Plugins
menu. This allows users to build Dash for custom engines
Uninstallation
Just remove GraphNUnrealPlugin folder from Engine/Plugins
or PROJECT_ROOT/Plugins
Also remove Documents/Polygonflow
folder
Option 2: Source Build Instructions
For this build option, start by opening the Source Build folder in the Google Drive and then downloading the zip for the Dash version you wish to install.
This ZIP file, which contains:
Dash: This folder holds the files copied from the installer. It allows you to distribute the plugin without installation, through version control or a shared folder.
GraphNUnrealPlugin: This directory contains the C++ code necessary for integrating Dash into your custom engine build.
init_unreal.py: Should you opt not to install Dash on every artist's machine, this developer file serves as the entry point to initiate the Python portion of the plugin.
Then it is time to build!
Create a new Unreal C++ project
Place the plugin into the
Plugins
folder of the project (create Plugin folder if it doesn’t exist yet). Result must bePlugins\\GraphNUnrealPlugin
Copy the
init_unreal.py
shipped in the ZIP inside your projectPlugins/GraphNUnrealPlugin/Content/Python
to allow the plugin to seeDash
and its libraries, or you will get errors likeModuleNotFoundError: No module named 'GN'
Edit the path at the end of
init_unreal.py
file, with the location where you placed your Dash folder if you want to distribute the plugin, or with the installation directory, if you are using the installer.Generate the visual studio project by right clicking in explorer on the .uproject file and selecting “Generate Visual Studio project files”

Open the solution in Visual Studio or Rider and build it from there Find more information at the official documentation.
Use From Python
The plugin exposes some functionalities to the python interpreter, and you can make unreal generate the python stubs for you, so you can load them in our IDE.
Open Unreal Engine and activate the plugin. It will activate Python Script Plugin and Editor scripting utilities plugins
Go to project settings and enable developer mode

Restart the editor.
Check
PROJECT_ROOT/Intermediate/PythonStub/unreal.py
Add this file to your IDE to have the auto complete with the exported functions
Exclusions from Version Control
Possible files to exclude from version/source control for both build types:
Plugins/UnrealEngineContext/Imports/thirdparty
(~2 GB) - This folder will be created and populated per user machine and will contain Python packagesModules/GN/ContentLibrary/Backends/IESLibrary/IesLibraryContents
(~28 MB) - This folder will be extracted fromIesLibraryContents.zip
located in the same folderThirdPartyLicenses
- This does not affect functionality, optional__pycache__
- Generated by Python*.pyc
- Generated by Python*.pdf
- Legal documents like EULA, optional*.md
- Legal documents and internal docs, optional
Dash Environment Variables
Dash Environment Variables Instructions
By setting certain Environment Variables, you can control whether certain features and options are available in Dash. The use of "1", "yes", or"true" all respond to true
.

DASH_CRASH_REPORT_ENABLED
Enables or disables crash reporting that might include file paths.
Default value = enabled
.
DASH_UPDATE_CHECK_ENABLED
Enable or disable startup update checks. Update checks happen once per Unreal editor session when Dash appears for the first time. Dash makes a request to our Cloudflare server to fetch the latest version info.
Default value - enabled
DASH_ANALYTICS_ENABLED
Enable or disable Dash usage telemetry. Dash sends usage data periodically to our MongoDB cluster. Default value - enabled
DASH_REGISTER_PREFERENCES_FOR_ANALYTICS
If enabled, the toggle to control the analytics option will be added to the Dash preferences UI.
Default value - enabled
DASH_OPEN_AI_ENABLED
Enables or disables the AI assistant and AI Asset Tagging through our OpenAI Enterprise API account. Default value - enable
DASH_REGISTER_PREFERENCES_FOR_OPEN_AI
If enabled, the toggle option to enable AI features using OpenAI Enterprise API will be added to the Dash preferences UI.
Default value - enabled
FAQ
Permission Denied / read-only / write proteced file - Revision Control Issue
If you see an error regarding permission denied or read/write, for example, regarding the metadata.json file, you can try two things:
Turn off the automatic write protection on the Documents folder that Windows Defender adds in Windows 11. It is a "Protected folder"
You can mark the metadata.json or any other Dash files under revision control as always writable through Perforce, etc, and then do the installation process again from the beginning.
Do we need to compile the plugin on every machine?
No. You can distribute the pre-built C++ plugin on every machine using the same engine version you built against.
Do we need to install the plugin on every artist machine?
In order to run, Dash will need 2 components:
The Unreal C++ plugin
The Dash Python plugin
You can install the plugin on every artist machine, or distribute it directly with your version control, alongside the custom built C++ plugin.
What are the dependencies of the C++ plugin?
Following a list of the dependencies of the C++ layer:
Memory lib from microsoft (unreal uses it too)
mimalloc.lib
Dash Dependencies (Internal)
IndexMeshSymbols.lib
_math.lib
_array.lib
meshoptimizer.lib
_gnmesh.lib
What are the dependencies of Dash Python plugin?
Dash relies on a series of internal and third party libraries. The following list might change, but at the moment of writing these are the third party libraries used:
abseil
eigen
embree
OpenSubdiv
Physix
tbb
robin-hood-hasing
tinyspline
FastNoise2
fast_obj
unordered_dense
blinker
boto3
botocore
certifi
dateutil
jmespath
orjson
pytz
semver
s3transfer
sentry_sdk
urllib3
numpy
PIL
PySide6
scipy
sklearn
shiboken6
torch_redstone
Some are pure python modules, some are C++ libraries that we use inside our python modules.
Will I need to recompile the plugin each new release?
Yes. If you are using a custom Unreal version, you will be in charge of recompiling the C++ plugin and redistribute the matching Dash Python plugin alongside with it. Once you already have the structure in place, it should be as simple as regenerate the project and build. Make sure to update also the init_unreal.py as it might change between releases.
When a new version of Dash is available, you will get a notification directly in Dash, and once you get that you will find the latest ZIP to download here always: https://www.polygonflow.io/download-latest-source-build
When compiling the C++ plugin I get some warnings, how can I solve it?
Dash is constantly evolving, and our top priority is to give artists and studios constant updates and new tools to improve their workflow. This rapid pace of development will sometimes leave behind some compile warnings which we are aware of, and are not critical. They might get fixed while moving forward, but if you have a zero warning policy unfortunately you might have to address the ones you get.
How many Enterprise Seats do I need?
You only need seats for those artists who want access to the tools and the ability to adjust parameters. You do not need licenses for Build Machines either.
Resource Error - Unable to copy files in your project
If you are using Perforce or another Version Control Software and, upon opening Dash, see our resource update popup and it fails by showing you a Resource Error, here is what you need to do:
If you are on Dash 1.9.2 or higher, move to step 5
Close UE,
Open this path in your PC folder explorer: DASH_INSTALL_ROOT\Plugins\UnrealEngineContext\Imports\GN,
And then replace this ContentUtils.py file with the one available here: https://drive.google.com/drive/folders/129GZoD6borfOGJ4-sGD_VTAdVMtMgbKr?usp=sharing
Then open UE and ignore the update popup, i.e, close it instead of clicking update
Then, open the Dash preferences through the main Dash menu and check the new "Skip Resource Acquisition" setting that is available in the Content Settings section
Then you should not get the update pop-up next time you open Dash
Later, when there is a Dash update, one person (the person who set up the project and plugins, perhaps) needs to do these steps to get the new resource data and share it with everyone through Perforce:
Install the new version of Dash
Unlock the Polygonflow folder under the Content folder in the project through Perforce so it is writable.
Turn on the resource acquisition again in Dash preferences
Open the Project and Dash, and run the update through the pop-up
Now, the new update files have been added to Perforce and are ready to be used by everyone on the team.
Last updated
Was this helpful?