Can I change the file location of "External Files" generated and used by World Partition and One-File-Per-Actor?

Our project is fairly large and we have been using, probably rather unconventionally, git submodules to separate some parts of the project.
We have the main project repo, and inside the Contents folder we have a folder with some separate submodule folders where each submodule contains a level(s) and assets specific to that module.
This has been working great, but we are now trying to use World Partition for the first time and discovered that it saves actor and object references in special folders in the root of the Content folder. This isn’t great for our submodule setup since those files, being in the Content root, are in the domain of the parent repo. We’d prefer to save those references in the submodule folder, preferably under the same folder where the level is.

TLDR;
Is it possible to save External Files generated and used by World Partition, in another file location of my choosing? (or in the same location as the level itself just like for example _BuiltData assets are)

Okay, so here’s my unconventional solution to my unconventional problem:

I made symlinks in the Content/__ExteralActors__ and Content/__ExteralObjects__ folders that point to [MySubmoduleFolder]/.ExternalAssets/Actors and [MySubmoduleFolder]/.ExternalAssets/Objects.

Git seems to handle the symlinks just fine as long as core.symlinks = true in the git config.
The parent repo needs to be updated once to contain those symlinks, and can then be left alone.

UE accesses the files through the symlink as if the files were in the expected location and I properly get the file changes to my submodule’s file change list. The .ExternalAssets folder name causes the UE Content Broswer to ignore that folder, also avoiding potential problems there.

1 Like