Article written by Branden T.
The Derived Data Cache is an important part of your project. It contains the run time version of the assets such as compiled shaders and compressed textures. Storing this data in a cache instead of the uassets reduces the storage requirement in your source control system. Depending on the type of engine (installed or compiled), the local cache will end up in different locations. (see BaseEngine.ini)
When launching a project for the first time, the cache must be built from the information contained in the uasset files. The bigger the project, the longer it takes to generate the local cache. This is what is making the editor stay on the splash screen for long periods of time.
Teams will usually set up a shared DDC to reduce the cost of generating the local cache. When working remotely, the shared cache becomes less efficient depending on the quality of the connection. It is better to turn off the shared cache in those cases.
A good workaround is to copy a local cache from one PC to another to act as a base cache. This only needs to be done once as the editor will take care of keeping the cache up to date as new assets are added or changes are made to assets configurations . The local cache is composed of tons of folders and small files so you will want to generate a zip file for a more efficient transfer. One person can generate a cache and share it with the entire project.
It is also possible to change the local cache location by adding a section in DefaultEngine.ini. The following examples move the local cache under Project\DerivedDataCache instead of the default location. This is useful when sharing a project without going to source control.
[InstalledDerivedDataBackendGraph] Local=(Type=FileSystem, ReadOnly=false, Clean=false, Flush=false, PurgeTransient=true, DeleteUnused=true, UnusedFileAge=34, FoldersToClean=-1, Path="%GAMEDIR%DerivedDataCache")
[DerivedDataBackendGraph] Local=(Type=FileSystem, ReadOnly=false, Clean=false, Flush=false, PurgeTransient=true, DeleteUnused=true, UnusedFileAge=34, FoldersToClean=-1, Path="%GAMEDIR%DerivedDataCache")