When making your virtual environment using our recommended Blender to Unity workflow, you will come at a crossroads when making your terrain. You can either create your terrain using Blender’s mesh capabilities or you can use Unity’s terrain tools.
It is better to use Blender when creating voxel terrain systems or terrain systems that you want to be interactable. On the other hand, it’s better to use Unity’s terrain tool for organic terrains with mountains, hills, or trees that need a LOD system.
Chances are, if you’re making a complex environment, that your terrain will most likely be a combination of the two – and understanding when mesh or terrain will be better is an important skill to have as a 3D artist or game developer.
When To Use Unity’s Terrain System
- If you’re modeling an organic terrain. We’re using organic in a loose term here, but what we really mean is if you’re looking to have an uneven, sloped terrain that you’re making ‘as-you-go’, then using Unity’s terrain sculpting is the best way to go. Its way easier to manipulate the terrain surface within Unity rather than to go back and forth with exporting .fbx files from Blender.
- If you’re looking to place grass or trees using an LOD system. And LOD (Level of Detail) comes default on a terrain object in Unity. This allows you to paint on LOD trees, grass, flowers and other natural assets directly onto the terrain. If you weren’t using the terrain system in Unity, you would have to copy and paste these assets onto a mesh – which would take you much longer to do and if a lot more difficult to edit later on. A LOD system is also an optimization tool that restricts your camera to rendering the triangles closest to it, which means you can have a lot more trees and terrain in a scene than if you were to use a terrain without an LOD system.
- If you’re looking at using cool environment plug-ins like Gaia. Gaia is a terrain and scene generation tool that lets you create a lot of cool procedurally generated environments. Tools like Gaia can help save you a lot of time, especially if you’re looking at developing an open-world type of environment. Gaia has its own terra-forming, texturing, planting, and placement tools that can save you a lot of design time in Blender.
- If you’re looking at making the terrain in Unity and exporting it as a mesh. Yes, it might seem a bit backwards – but people do actually use this workflow. Sometimes, you just want to use the cool terrain system in Unity and then just export it back to your go-to renderer or to another game engine.
- If your terrain is really big. As mentioned before, the LOD system that comes by default in Unity’s terrain creation tool is really helpful with large world terrain systems. Also, just as a general rule, Unity will have less trouble loading a large terrain as opposed to an equally large mesh.
When To Use Blender Mesh For Terrain
- If you’re modeling a voxel-based terrain. Voxel terrains are used in games like Minecraft, where the player gets to interact with the terrain itself by digging up and harvesting parts of it. You can’t create voxel terrain using Unity’s terrain creator. But there are two ways you can create this within Blender. 1) you can construct it incrementally by creating hundreds of terrain ‘objects’ that work within your designed grid system, or, 2) you could use a modeling tool like Voxatron and then just import what you’ve made back into your gaming engine.
- If you want more flexibility in texturing your mesh. The standard terrain textures that come with Unity are okay, but let’s admit, the texturing system in Blender has way more potential for detail. Maybe it wouldn’t be a good idea to do your entire world in Blender – it would be a good idea to separate your detailed textured objects and have the rest as a Unity terrain object.
- If you’re using a height mapper to displace terrain. If you are trying to replicate a certain terrain and you’ve got a height mapper to do just exactly that – the process of displacing your terrain is going to be much easier in Blender. But do be aware that this can get really heavy, and should only be done in moderation. Placing a collider on this mesh in Unity can also take a lot of processing power, and doesn’t always give you the results you expected in the first place.
- If you’re modeling a tunnel. It’s going to be difficult to break up the terrain to cut a hole out of it in Unity, so if you’re looking to have a tunnel or any type of hole in the ground, we suggest it be made out of a mesh in Blender.
- If you want your terrain to be interactable. If you want your terrain to behave like a game object, then make your terrain a game object (and not a terrain in Unity). It is easier to model interactable and animated parts of your terrain in Blender and to adjust its components in the Inspector within Unity.
- Mountains or rural scenes. If you have an open-world rural scene, like in a valley somewhere far out in nature, then best stick with a predominant Unity terrain system or a terrain system generated by a helpful plugin like Gaia.
- An interior scene. If your scene is an interior scene with predominantly hard-surface modeling, then do not bother with the Unity terrain system – stick with modeling in Blender and adding clean colliders to your mesh.
- A city. This will probably be a combination of the two, and the ratio of each will depend a lot on how level your city is. A relatively level city will be more mesh than terrain, and a city on the mountain will be slightly more terrain-based.
- A low-poly environment. Low-poly styles have really increased over the past few months, and they are all using mesh. Although they might start off with Unity terrain, export it to Blender THEN decrease the subdivisions – it will at the end of the day be mesh.
If you have any other terrains we can look at and discuss please pop down to our comment section.