DazToUnity (NEW version)(Unity 6 compatibility, runtime render pipeline)
DazToUnity Bridge
A modernized fork of the Daz3D DazToUnity Bridge, updated for Unity 6 and all three render pipelines — HDRP, URP, and Built-in.
Based on the original work by Daz 3D. This fork focuses on Unity 6 compatibility, runtime render pipeline detection, UPM packaging, and a unified uDTU shader family for all pipelines.
1. What's Different in This Fork
This fork modernizes the original DazToUnity Bridge with a focus on clean, forward-compatible code:
Unity 6 compatibility
- Replaced deprecated
FindObjectsOfTypewithFindObjectsByType - Switched to
EditorSceneManagerfor scene operations - Removed Unity 2019 dead code paths
- Added safety around
AvatarSetupTool
Runtime render pipeline detection
- New
RenderPipelineHelperreplaces all#if USING_HDRP / URP / BUILTINpreprocessor directives - Pipeline detection is cached at runtime via
GraphicsSettings.currentRenderPipeline - Shader names are runtime properties, not compile-time constants
UPM package structure
- Installable via Unity Package Manager from a git URL — no file copying needed
- Proper Runtime and Editor assembly definitions
- SimpleJSON vendor dependency isolated with
autoReferenced: false
Unified uDTU shader family for all pipelines
- HDRP and URP: existing Shader Graph shaders (Hair, Metallic, Specular, SSS, Transparent)
- Built-in RP: new ShaderLab surface shaders matching the same property interface
- All three pipelines use the same material conversion path — no legacy fallback
2. How to Install
Daz Studio Plugin
- Go to the Releases page
- Download dzunitybridge.dll
- Copy the DLL into your Daz Studio plugins folder:
C:\Daz 3D\Applications\64-bit\DAZ 3D\DAZStudio4\plugins\ - Restart Daz Studio
- Verify: File → Send To → Daz To Unity appears in the menu
Unity Plugin — Option A: UPM / Unity Package Manager (Recommended, Unity 2022.3+)
The cleanest install. No files are copied into your Assets folder.
From Unity:
- Open your project
- Go to Window → Package Manager
- Click + → Add package from git URL...
- Paste:
https://github.com/Knuffelpanda/DazToUnity.git?path=UnityPlugin - Click Add
Or edit Packages/manifest.json directly:
"com.daz3d.daz-to-unity": "https://github.com/Knuffelpanda/DazToUnity.git?path=UnityPlugin"From Daz Studio (automatic):
- Open File → Send To → Daz To Unity
- Enable Advanced Settings
- Select UPM Package (Unity 2022.3+) from the dropdown
- Click Install Plugin and select your Unity project root
- Switch to Unity — the Package Manager resolves the package automatically
Unity Plugin — Option B: .unitypackage (Classic, Unity 2019–2021)
- Open your Unity project and leave it running
- In Daz Studio: File → Send To → Daz To Unity
- Enable Advanced Settings
- Select your Unity version and render pipeline from the dropdown
- Click Install Plugin and select your Unity project root
- A Unity Import Package dialog should appear — click Import
- If it doesn't appear automatically, go to
Assets/Daz3D/Support/and double-click the matching package:DazToUnity HDRP.unitypackageDazToUnity URP.unitypackageDazToUnity Standard Shader.unitypackage
- For HDRP: add the Daz diffusion profile to your HDRP asset's diffusion profile list (Project Settings → HDRP Default Settings)
3. How to Use
- Open Daz Studio and add a Figure or Prop to your scene
- Select the top node of your Figure or Prop in the Scene pane
- Go to File → Send To → Daz To Unity
- Select the Asset Folder for your Unity project
- Choose the Asset Type:
- Skeletal Mesh — for rigged figures
- Animation — for animation clips
- Static Mesh — for props and environments
- Optionally enable Morphs or Subdivision levels via the checkboxes
- Click Accept and wait for the confirmation dialog before switching to Unity
Unity will automatically import the FBX and .dtu file, apply materials, and set up the prefab.
4. How to Build
Requirements: Daz Studio 4.5+ SDK · Qt 4.8.1 · Autodesk FBX SDK 2020+ · Pixar OpenSubdiv · CMake 3.4+ · Visual Studio 2017+
git clone --recurse-submodules https://github.com/Knuffelpanda/DazToUnity.gitcmake -B build \ -DDAZ_SDK_DIR=<path> \ -DFBX_SDK_DIR=<path> \ -DOPENSUBDIV_DIR=<path>cmake --build build --config ReleaseThe build output is dzunitybridge.dll (Windows) or dzunitybridge.dylib (macOS).
Set -DDAZ_STUDIO_EXE_DIR=<path> to auto-deploy the plugin to your Daz Studio plugins folder after build.
5. How to Test
Unit tests (Windows, C++):
- Build in Debug mode with
/EHa(C++ exceptions with SEH) enabled - In Daz Studio, load
Test/UnitTests/RunUnitTests.dsa - Set
sIncludePathandsOutputPathon lines 4–5, then run - Click through any dialog prompts that appear — they are part of the tests
Automated test cases (Daz Script):
- In Daz Studio, load
Test/TestCases/test_runner.dsa - Set
sIncludePathon line 4, then run - Results are written to
Test/Reports/as JSON and TXT
Manual QA:
- See
Test/QA Manual Test Cases.mdfor 16 test scenarios
6. How to Develop
C++ plugin (DazStudioPlugin/):
DzUnityAction— triggers the export workflow via File → Send To → Daz To UnityDzUnityDialog— export configuration UI- The
DzUnityNSnamespace prevents collisions when multiple bridge plugins are loaded simultaneously - Uses
CPP_PLUGIN_DEFINITION()instead ofDZ_PLUGIN_DEFINITIONto enable C++ class export across the bridge library boundary
C# Unity plugin (UnityPlugin/):
Daz3DDTUImporter— ScriptedImporter for.dtufiles, drives the entire import pipelineDTUConverter— material and shader assignmentRenderPipelineHelper— cached runtime pipeline detection, single source of truth for all pipeline branchingDetectRenderPipeline— manages scripting defines for backwards compatibility
Modifying shaders:
- HDRP/URP shaders are Shader Graph assets in
UnityPlugin/Shaders/uDTU/ - Built-in shaders are ShaderLab files in the same folder (
uDTU BuiltIn.*.shader) - All shaders share the same
_-prefixed property names soDTUConverterworks identically across pipelines
Updating the .unitypackage files:
- Make changes inside Unity
- Export a new
.unitypackagefrom Unity - Replace the matching file in
DazStudioPlugin/Resources/
