The Quest for Workflow Optimizations

When I begun with Unreal it was usually about obtaining content, adding it to the scene, and working on gameplay related blueprint code. However, as I approach the phase of releasing something finally I look at adding content and the structure of the game project from a more diverse perspective. Mainly this focuses on performance improvements, and to sort the project folders in a meaningful way, which however opened an entire new kind of time consuming task. Usually asset packs come with at least some standard materials, and textures, such as Master Materials, Engine content, and textures. This on top of optimizing texture resolutions, which can help to shrink project file size considerably.

Maybe I missed those topics but I never read about it on the forums, but some info on this is scattered throughout the documentation page on Performance

My workflow encompasses now to skim through each asset folder,

  • Deleting/replacing double textures (It is surprising how many content packs use the same gigantic HDRI images)
  • Combining Master Materials as best as possible
  • Reducing texture file size (…/imageresizuer )
  • Removing/replacing textures which are very similar, such as for noise or details
  • Replacing basic texture types for wood, metal, concrete types with those I prefer, or create another material instance if required.
  • Sharing Character Materials, you only need so many nails, eyelashes, or teeth textures…

While this all sounds very straightforward, only rarely interrupted by broken material-textures through folder movement operations, it is a very time-consuming part. I literally spent days just importing, renaming, moving, optimizing content.

It would help if there were some kind of naming convention in place, hinting at the potential for merging content, and ofc you need to know this, otherwise you likely end up with a much larger, and more unorganized project structure.

The project I am working on consist now mainly of a few main folders, such as

Animations (Walking, Sitting, Idle…)
Assets (Architecture, Audio, Interior, Exterior…)
Characters (Hero, People, Animals…)
Components (Quest, Inventory, HUD, Spawn, Traffic…)
Effects (Water, Dust, Fire…)
Environment (Ocean, Foliage, Rocks, Sky…)
Maps (DungeonArchitectThemes, Region1, Region2, Region3…)
Megascans (Quixel import folders)

Still working on it since I add so much content, and only recently begun taking optimizations more seriously, but I can recommend to do this form the start. However, sometimes this can turn out not so great, when there is an important update, or you migrate content from another project several times, creating the same textures, and materials you already moved.

And this is then the moment when you realize that you need more hands, or an intern.

What is your workflow when it comes to project maintenance and structuring?