Unreal offers a feature, that allows to store compiled shaders and other material related stuff in a _Derived Data Cache_. This cache is hierarchical and can contain local and shared caches.
For more info on DDCs see the [official docs](https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/DerivedDataCache/).
## Adding DDCs to your project
Edit the `DefaultEngine.ini` in the Config folder of your project and append e.g. the following:
-`InstalledDerivedDataBackendGraph` specifies the standard DDC properties that are used in an installed engine build. If you use a custom compiled engine (source build) use `DerivedDataBackendGraph` instead or specify both by copying the complete section twice.
- This example specifies a `Shared` DDC. You can also specify for example a `Local` one.
- You can look up all parameters that are used and the possibilities in the `BaseEngine.ini` in the Engine/Config folder. If you search for 'DerivedDataBackendGraph' you can see the documentation of all parameters.
- The path variable supports different placeholders that are replaced in runtime, like `%ENGINEDIR%` or `%GAMEDIR%`.
# Examples
## Project Folder only
This example illustrates how to store everything inside your project folder:
This example illustrates how to store your DDC in our shared DDC. Once you start up your project the editor tries to contact the shared drive and you have to enter credentials. Use the ones below. To store them in your profile, just open a file explorer and paste [Internal URL](https://git-ce.rwth-aachen.de/vr-vis/group-wiki/-/wikis/Hardware/Group-Servers#shared-derived-data-cache) into the address bar. Enter the same credentials and check the "save"-mark. The DDC is only reachable inside the RWTH network (and VPN). If the editor can't connect you can disable the DDC for that launch:
You can edit the entries in the `BaseEngine.ini` in the same way as in your project. Just edit them, do not append new ones. **Note to students: Please do not do so yourself**
Make sure to edit them in the corresponding section to your type of engine installation:
-`InstalledDerivedDataBackendGraph` -> Installed Engine via launcher
---
title:Zen Server / Derived Data Cache (Shader Cache)
---
**Table of Contents**
[[_TOC_]]
# General Information
Unreal offers a feature, that allows to store compiled shaders and other material related stuff in a _Derived Data Cache_. This cache is hierarchical and can contain local and shared caches.
For **newer versions** (UE5.4+) Unreal uses [Zen Storage Server](https://dev.epicgames.com/documentation/en-us/unreal-engine/zen-storage-server-for-unreal-engine) to server the DDC instead of the old fileshare method.
For more info on DDCs see the [official docs](https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/DerivedDataCache/).
# Zen Storage Server
We are hosting our own Zen Storage Server which address can be found here: [Zenserver URL](https://git-ce.rwth-aachen.de/vr-vis/group-wiki/-/wikis/Hardware/Group-Servers#zen-server-url).
This server is included per default in pipeline builds, to accelerate the packaging process.
You can additionally add it to your own project to accelerate builds by including the following lines in your `DefaultEngine.ini`:
-`InstalledDerivedDataBackendGraph` specifies the standard DDC properties that are used in an installed engine build. If you use a custom compiled engine (source build) use `DerivedDataBackendGraph` instead or specify both by copying the complete section twice.
- This example specifies a `Shared` DDC. You can also specify for example a `Local` one.
- You can look up all parameters that are used and the possibilities in the `BaseEngine.ini` in the Engine/Config folder. If you search for 'DerivedDataBackendGraph' you can see the documentation of all parameters.
- The path variable supports different placeholders that are replaced in runtime, like `%ENGINEDIR%` or `%GAMEDIR%`.
# Examples
## Project Folder only
This example illustrates how to store everything inside your project folder:
**The old shared DDC is deprecated in favor of Zen. Keeping this section for documentation purposes.**
This example illustrates how to store your DDC in our shared DDC. Once you start up your project the editor tries to contact the shared drive and you have to enter credentials. Use the ones below. To store them in your profile, just open a file explorer and paste [Internal URL](https://git-ce.rwth-aachen.de/vr-vis/group-wiki/-/wikis/Hardware/Group-Servers#shared-derived-data-cache) into the address bar. Enter the same credentials and check the "save"-mark. The DDC is only reachable inside the RWTH network (and VPN). If the editor can't connect you can disable the DDC for that launch:
You can edit the entries in the `BaseEngine.ini` in the same way as in your project. Just edit them, do not append new ones. **Note to students: Please do not do so yourself**
Make sure to edit them in the corresponding section to your type of engine installation:
-`InstalledDerivedDataBackendGraph` -> Installed Engine via launcher