Would it be possible to create a database of latest cooked assets/files?

My motivation is to somehow save time when I’m repeatedly making changes and building a game. The part that’s most time-consuming in this process is cooking content.

With that in mind, would it be possible to create a file repository (i.e. a database) of some sort that holds an up-to-date cooked version of each asset in the game? The cook commandlet could then be modified to “look up” the asset and its dependent assets in the file repository, if those exist use them instead of actually cooking, or if they don’t exist just cook the asset like it normally would.

The database would be updated on each change that is submitted to the game’s Content/ directory.

I think in theory a database like this should be possible but it hinges on the reliability of the dependency graph that it uses and the determinism of the graph. The process that updates the database, would need to know exactly what assets need to updated based on a particular change (as computed by traversing the dependency graph).

Does anyone know whether the engine can be used to create something like this?

Any help would be appreciated. :slight_smile:

You can do it by using the Project Launcher to create your builds instead of the File -> Package option. It might take some time to get the settings right, but in the build cooking settings, set it to “by the book”, disable “build packages without versions” and enable “cook only modified content”. Make sure to go through all other settings to understand what they do, it’s well worth it.