Brushify_Docs.png

World Composition

It's possible to use World Composition with Brushify - Auto Material. However I do not recommend this feature anymore for a multitude of reasons.

Outdated

The World Composition system was first introduced in Unreal 4.9 in August 2015 making it now 6 years old. Unreal Engine has changed quite a bit since that time, as well as the capability of even the most basic consumer level hardware.

Unreal Engine 5 has replaced the system entirely with a new system called World Partition which aims to automate process of creating large worlds.

Needlessly complex workflows

World composition is a complex system and can slow down level development. Tiles need to be loaded and unloaded, proxy meshes for the distance must be generated whenever the playable landscape is sculpted/painted. This is a very time consuming process that isn't automated out of the box. For artists and designers this makes working with world composition incredibly frustrating and time consuming. It's rarely cost effective.



The good news: A huge playable landscape is possible without world composition


By default unreal engine supports the import of heightmaps up to 8161x8161 pixels. At a default landscape scale of 100, 1 pixel = 1 meter.

8161m x 8161m = 64 km²


If you scale an 8k landscape by x2 (Scale value of 200 in landscape creation settings) that will bring you to 256 km². An absolutely giant playable space larger than Red Dead Redemption 2 (Rockstar's largest game world to date with 75 km²)


These settings will result in a single 128km² landscape.


Performance

The new Landscape LOD system makes a single large landscape due to optimizing polycount and drawcalls based on Screen space. It dynamically alters the level of detail based on how much landscape is on screen, adjusting the proportion of which LOD is being rendered. This system is far more efficient than previous systems which were based on Distance from camera.

Another thing to note is that this system is fully replaced in UE5 with World Partition technology, so a single landscape will be the way forward in the future, without the need to generate world comp distance meshes.


I don't recommend even using this feature anymore. There are better options available and it's technically no longer required. You should only use this if your project falls into one of the narrow edge cases that still remain. For instance if you really need an absolutely vast world 200km^2+


Usage


If you still decide you need world composition, setup with Brushify is fairly straight forward. That's because brushify already has all the paint layers required for multiple biomes on a single material instance! There is no need to assign different material instances to different tiles. This is because Brushify was designed to be used with massive worlds.

Simply select your Heightmap tiles and be sure to assign your MI_Landscape material instance before clicking Import.

Hit Import to create your world.


You can now go to Landscape > Paint and fill the landscapes with a Grass paint layers.


You'll now find you have multiple landscape tiles, each tile has no seams or borders and the heightmaps flow into each other contiguously.

You are now able to sculpt the landscape with alpha brushes and paint down the paint layers just as you would any normal landscape actor. However bare in mind that you must generate Proxy meshes in order to view unloaded tiles at a distance ingame. Those must be regenerated each time you make a landscape edit. You'll find the proxy mesh generator in Window > Levels > Summon Level Details > LODSettings

The proxy mesh is basically a baked version of your landscape that the engine will render at a distance.

If for some reason you forgot to assign the MI_landscape material on creating your world comp landscape, you can always select the LandscapeStreamingProxy actors and assign the MI_Landscape in the details panel.