Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser




Quick Information

This will allow you to create massive terrain, for open world games.This plugin is written in c++ in GDExtensionTerrain is divided into different region and the height map texture for region far away from terrain has lower resolution so take less space in VRAMThis also support grass system which you can use that for grass, or rock, Also grass system support collision which let you to create massive forest of tree with collision really fast (Grass is also Paintable)You can also bake navigation mesh from terrain (navigation mesh is also Paintable)Supporting sculpt brushSupport Height-map non destructible layersSupporting HolesSupporting WaterSupporting Color brush with different algorithm like Splat-mapping, Index mapping, bit-wise brush ...------------------------------------------------This release:Grass Data per instanceThe biggest update for this version is the grass data custom which you can send to grass! You can send these data to each instance of grass:You can send some random number unique for each grass instance, you can control this random number!You can send any image which you used in Terrain to grass, only a single color value depend on the position of the grass on terrain will be sended to grassYou can also send the grass creation time which you can calculate the age of grass and create a growing effect for grassThis update is not about grass data there are more features and bug fixesOther changesNow if you add an image in terrain data and you do not declare that in terrain Shader, that image will remain only on RAM memory, and you can read from that and use that in various things! (One use of that is to send that data to grass)Optimizing grass update in run-timeFixing the color paint issueThis time the color which you paint will appear in the background of each layer in paint panel (only for color-brush and channel-painter)Detecting OpenGL or compatibility mode and changing the Shader code for that so it will work as you start a new-project (If you create a terrain with Vulkan and then change to OpenGL you need to fix the Shader code by yourself as some Shader code which works for Vulkan does not work for OpenGL)In this release we have a road system! but it is just a start!
Only for M Terrain Plugin release
The main repo is Here https://github.com/mohsenph69/Godot-MTerrain-plugin
Please read before using this plugin
Using this plugin require to learn some concept about terrain, This terrain plugin will not work out of the box, so I really suggest to read the wiki which I add recently added, I will add more stuff to wiki but for now I wrote the main concept that you need to know.
Also watching this video will be helpful: https://www.youtube.com/watch?v=PcAkWClET4U
And then this video shows how to use use height brushes to modifying the terrain: https://www.youtube.com/watch?v=e7nplXnemGo
Video about Texture painting: https://www.youtube.com/watch?v=0zEYzKEMWR8
patreon
You can support me with patreon Click here
Features
- Tested with terrrain up to size 16km X 16 km
- Supporting grass system Even with collission for things like trees (Grass is paintable)
- Suppoting baking navigation system from terrain (navigation mesh is paintable)
- Terrain sculptur
- Color brush which support different algorithm (splatmapping, bitwise, index mapping ...)
download
To downalod the latest release use this link: https://github.com/mohsenph69/Godot-MTerrain-plugin/releases
build by yourself
First clone this repo on your local machine, so you need godot-cpp to exist in GDExtension folder so you can build that, godot-cpp is added as a submodule in this project so to put that inside GDExtension folder only thing you need to do after cloning this repo is runing this code
git submodule update --init --recursive
This will automaticly pull godot-cpp into GDextension folder, After that go inside GDExtension folder and use scons to build this project
This will allow you to create massive terrain, for open world games.
This plugin is written in c++ in GDExtension
Terrain is divided into different region and the height map texture for region far away from terrain has lower resolution so take less space in VRAM
This also support grass system which you can use that for grass, or rock, Also grass system support collision which let you to create massive forest of tree with collision really fast (Grass is also Paintable)
You can also bake navigation mesh from terrain (navigation mesh is also Paintable)
Supporting sculpt brush
Support Height-map non destructible layers
Supporting Holes
Supporting Water
Supporting Color brush with different algorithm like Splat-mapping, Index mapping, bit-wise brush ...
------------------------------------------------
This release:
Grass Data per instance
The biggest update for this version is the grass data custom which you can send to grass! You can send these data to each instance of grass:
You can send some random number unique for each grass instance, you can control this random number!
You can send any image which you used in Terrain to grass, only a single color value depend on the position of the grass on terrain will be sended to grass
You can also send the grass creation time which you can calculate the age of grass and create a growing effect for grass
This update is not about grass data there are more features and bug fixes
Other changes
Now if you add an image in terrain data and you do not declare that in terrain Shader, that image will remain only on RAM memory, and you can read from that and use that in various things! (One use of that is to send that data to grass)
Optimizing grass update in run-time
Fixing the color paint issue
This time the color which you paint will appear in the background of each layer in paint panel (only for color-brush and channel-painter)
Detecting OpenGL or compatibility mode and changing the Shader code for that so it will work as you start a new-project (If you create a terrain with Vulkan and then change to OpenGL you need to fix the Shader code by yourself as some Shader code which works for Vulkan does not work for OpenGL)
In this release we have a road system! but it is just a start!
Reviews
Quick Information

This will allow you to create massive terrain, for open world games.This plugin is written in c++ in GDExtensionTerrain is divided into different region and the height map texture for region far away from terrain has lower resolution so take less space in VRAMThis also support grass system which you can use that for grass, or rock, Also grass system support collision which let you to create massive forest of tree with collision really fast (Grass is also Paintable)You can also bake navigation mesh from terrain (navigation mesh is also Paintable)Supporting sculpt brushSupport Height-map non destructible layersSupporting HolesSupporting WaterSupporting Color brush with different algorithm like Splat-mapping, Index mapping, bit-wise brush ...------------------------------------------------This release:Grass Data per instanceThe biggest update for this version is the grass data custom which you can send to grass! You can send these data to each instance of grass:You can send some random number unique for each grass instance, you can control this random number!You can send any image which you used in Terrain to grass, only a single color value depend on the position of the grass on terrain will be sended to grassYou can also send the grass creation time which you can calculate the age of grass and create a growing effect for grassThis update is not about grass data there are more features and bug fixesOther changesNow if you add an image in terrain data and you do not declare that in terrain Shader, that image will remain only on RAM memory, and you can read from that and use that in various things! (One use of that is to send that data to grass)Optimizing grass update in run-timeFixing the color paint issueThis time the color which you paint will appear in the background of each layer in paint panel (only for color-brush and channel-painter)Detecting OpenGL or compatibility mode and changing the Shader code for that so it will work as you start a new-project (If you create a terrain with Vulkan and then change to OpenGL you need to fix the Shader code by yourself as some Shader code which works for Vulkan does not work for OpenGL)In this release we have a road system! but it is just a start!