April 2021
Posted 3 years ago
So Valve had an asset system like this.
/content/alyx/models/gman.mdl <-- source files
/game/alyx/models/gman.mdl_c <-- compiled files
attribute 'contenteditable' not allowedattribute 'blocktype' not allowed

And I changed it to be more addon capable like this
/game/addons/sandbox/content_src/models/balloon.mdl
/game/addons/sandbox/content/models/balloon.mdl_c
attribute 'contenteditable' not allowedattribute 'blocktype' not allowed

Well this month I decided that sucks too. So now it's like this.
/game/addons/sandbox/models/balloon.mdl
/game/addons/sandbox/models/balloon.mdl_c
attribute 'contenteditable' not allowedattribute 'blocktype' not allowed
So here's the logic here. 

Being in separate folders definitely has its benefits, it creates a clear line between what should be shipped and what shouldn't. 

But on the other hand, it's confusing, it's another thing that you have to explain to people. It's another folder to be aware of, it feels so much nicer to have related files next to each other. You know if something is source or compiled because compiled files end in _c.

So I decided on balance that this is the way forward for us.