Brushify - Creating an Unreal Project that can be updated

Tutorial / 02 October 2020

I want to create an Unreal Project using Brushify packs, as this will be a long term project I'd like to be able to update the Brushify packs when new features are added, as I'm sure they will. I also want to be able to customise the aspects  of the packs, to suit the environments I'm going to build. I was unsure how to go about this and messaged Joe Garth,the creator of Brushify, to get some advice. This is his suggestion:

Here's what I think you should do. 

  1. Create a new project and add all the brushify packs you need to the same folder.
  2. Whatever happens, never directly alter the files in the Brushify folder of that project.
  3. Instead create 'instances' or copies any brushify files you want to modify and put those in a seperate folder ' Your Project'. This way the original Brushify files are never going to be affected, and your new copies will be what the unreal engine points to.

An example:
If you wanted to remove the grass meshes from spawning on the grass layer. The file you would need to modify would be Content\Brushify\Materials\Landscape\GrassTypes\LG_Grass.uasset
So you would Move that file into your own folder 'Your Project' in some subdirectory. You'd also need to make copies of any files that file depends on. You can see those files in the 'Reference Viewer' which can be accessed by right clicking any asset in content browser. This tool is super useful as it show exactly what each file is connected to in unreal engine. So for instance, the grasstypes files main input is M_Landscape, so you would need to make a duplicate copy of that which references your modified version of LG_Grass. You'd do that the same way that by moving your M_Landscape to your folder.

It's a little tricky because if you want to update to the latest version of Brushify on a regular basis, you will end up having to do some hands on work to make sure it functions properly. But if you take this approach, it shouldn't be that complex when you do need to update. Just a case of switching the connections over to your duplicate/moved versions.