Folder Structure

Unreal seems to be quite sensitive to the File Structure. So we need to evade refactoring as much as possible and get it right from the get go!

Note that moving files around (remember to fix up redirectors 🙂) is possible. But we wanna avoid it.

For me the best approach - based on my past experience - is a mix: “Featuer Based with Content Grouping”

We try a feature based approach as much as possible, but sometimes we would have a folder, e.g.: World/Animals/Rabbit/ that contains a bunch of files of the same type, e.g. textures, which then are grouped into a “Textures” folder (Content grouping)

An example Unreal folder structure could look like this:

Content/
    _Essentials/
    |   FlowNodesLibrary/...
    |   MasterMaterials/...
    
    _Features/
	  |   Core/...
    |   Characters/...
	  |   World/
    |   |   Environment/...
    |   |   Structures/...
    |   |   Animals/...
    |   |   Lv00_SomeLevelname/...
    |   |   Lv01_SomeLevelname/
    |   |   |   Collectables/...
    |   |   |   Environment/...
    |   |   |   Sequences/...
    

We have a _Essentials folder, for things that get reused a lot and don’t belong to a specific feature.

We prefix our main folders with _ so they are always at the top, no matter what other assets create in terms of folders.

File Naming

A good starting point can be found here: https://github.com/Allar/ue5-style-guide/tree/v2

it somewhat matches what is done in many projects and follows good conventions. The Prefixes result in an easy searching for assets

Logicially it is completely wrong, though :D

(maybe i find time to explain that 🤪)

Assets / Blueprints

There is no extra need of creating a Blueprint (aka Prefab) out of a StaticMesh. You can just use the static mesh directly. Except!