title:Zen Server / Derived Data Cache (Shader Cache)
[[_TOC_]]
---
**Table of Contents**
## General Information
[[_TOC_]]
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.
# General Information
For more info on DDCs see the [official docs](https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/DerivedDataCache/).
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.
## Adding DDCs to your project
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.
Edit the `DefaultEngine.ini` in the Config folder of your project and append e.g. the following:
For more info on DDCs see the [official docs](https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/DerivedDataCache/).
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).
Note the following about this example:
This server is included per default in pipeline builds, to accelerate the packaging process.
-`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.
You can additionally add it to your own project to accelerate builds by including the following lines in your `DefaultEngine.ini`:
- 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%`.
-`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.
## Our shared DDC
- The path variable supports different placeholders that are replaced in runtime, like `%ENGINEDIR%` or `%GAMEDIR%`.
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:
# Examples
You can find the user and password in Keepass.
## 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.**
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**
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:
Make sure to edit them in the corresponding section to your type of engine installation:
-`InstalledDerivedDataBackendGraph` -> Installed Engine via launcher
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