My name is Anaïs and I'm confused.
I made a .sbs file ready to use for artists with a template of texture packing already set up for Unreal, to allow the best use of material instances for BPR rendering. From the feedback that I had, it was really useful, some used it as it was, some recreated it differently for their workflow, and I think it's a big win. They could work with the base template easily, but some weren't afraid to make it their own and dig a bit more in the software. Here's the file, the texturepackingnoises.sbs one is simply my version with what I've done for VFXs.
As the nature took its rights back, the environment required a lot of attention and had to be thought and planned thoroughly. We needed a lot of vegetation, grass, trees, foliages of anykind, so I aimed for the best solutions I could have with unreal, and organize them for the artists to be fully autonomous while using them.
In the level design, some zones were supposed to be dense with trees, because it was a soil ground or because we wanted to delimitate the map edges, so the PCG plugin was life saving here. I made a PCG blueprint and added an exposed parameter for the density of the forest, and in the static mesh spawner I added all the different trees that we had and played a bit with the settings for each of them to give a bit of chaos.

The landscape in itself needed 3 different textures with grass, dirty soil ground, and another one that was concrete. I set up a landscape material and used the layer blends, and added some settings in the landscape for the grass material to be only painted over the soil but not the concrete. This was indeed the best solution we could have as we had to rework all the landscapes textures short before the release and swapping them here saved us some precious time as we didn't even had to paint the zones all over again, the landscape kept the data.
At last we also used a RuntimeVirtualTexture to collect those data from the landscape and send them to the grass foliage.




The foliage paint system of unreal was also here the best solution here, as it is native to unreal, adapted for artists to use easily, and already optimized for the performances. The RVT here is used to tint the grass with the landscape color and give a more natural blend overall. I set up the paint settings and the Static Mesh Foliages with the density, randomness on size, wind intensity and co, and checked with the artists how they would like their grass to be (would it grow on other static meshes ? Would it grow only on the grass and soil landscape material ? Would it grow on concrete ?) to polish the results.


The first photo system that I've done was half redone later for development needs, but this is how I proceeded anyway.
This was the part that was replaced later. This part of the system (made out of blueprints) didn't match the C++ logic of our programmer, so he took that base to rewrite it in fully typed C++ scripts.
The Take Photo event uses a render target 2D and saves it to the disk, and I planned to create a specific material to draw on the render targets pictures not presents in the game scene, to be discovered later on by the player when they go back to the van and develop the photos. Instead, we used an occlusion system for bigger creatures than only show them in SceneCapture2D, so the player still has the surprise to see something unexpected in his galery.

The simple widgets that I've originally done were kept and improved as production needs became more sharps, and they show the pictures taken in the galery in specific slots if and only if it was correctly taken with the tag system made by the programmer.


In the level design the plan for fences was one of a maze and I couldn't bare the idea of anyone wasting time placing every fence by hand drag n drop one after one so I made a quick spline mesh tool that was also useful for the roads, as we could change the static mesh to instantiate basically whatever we would like.

Because of axis and scale shenanigans between blender and unreal, importing 3D meshes from blender was a pain. I tried to rapidly create a .py Add-On for the artists to use to help during export, but I found out that it wouldn't go in the right file path at all, I recommend them to put it there manually but setting blender for unreal once and for good was the way they went for. Working more with 3D artists makes me realize that not everything has to be a plugin or procedurally generated by a script.