Asset Folder Structure

How can we setup Asset folders in such a way that when we Build/Publish them they aren’t assigned some folder names based on their ID. I would like to be able to give instructions to my artist or customer to go to a particular folder and replace the art without them needing to have a PlayCanvas license. To do minor art changes without having to access code post publishing helps provide a degree of customization. eg: Changing loading screen from a particular folder. Like in the case of Unity StreamingAssets folder would be excluded from the build. What is the best way to do this?

Hi @Damodaran_Ramani,

That’s a valid request, though it isn’t possible right now.

Would you like to raise a feature request on the editor repo?

@Leonidas Will do. Thanks :+1:

1 Like

You could use PlayCanvas sync which to pull/push art changes without needing the editor. It uses the same folder structure as what’s shown in the Editor rather than the flat publish structure.

I doubt we would change the publish folder structure any time soon.

The other alternative is to use the config.json to find the asset ID and use that to find the actual asset file.

1 Like

Thanks @yaustar but I am more interested in the post publish structure being human readable. I have had better control with other engines where I could write my own gulp scripts to handle the min,concat, copy and other tasks. I would like to use the editor and have the same degree of control through some settings exposed in the inspectors. I have already opened a new issue under the editor as recommended by @Leonidas

1 Like

Ah, in which case, the REST API may help here:

There’s options to not minify and not concatenate scripts there.

You can then do some processing on the scripts or assets using the config.json (which is basically the asset directory) to do your own concatenation of scripts, swapping out of assets etc.

I do a lot of that type of stuff for the Playable Ad ‘export’ if you would like an example:

We also have a few developers that strip out code to target specific publishing platforms using this method.

1 Like