Tiny Terrain is a lossy Terrain Data compression technology for Unity Terrain Engine, which allows you to reduce the size of the data that Terrain takes in the project many times and significantly reduce the size of your application.
You pay a little CPU time and additional memory usage, but save tens and hundreds of megabytes for each Terrain in the project.
Even though the compression is lossy, in most cases you won't see any visual difference at all.
A very high compression ratio is achieved due to the author's data preparation algorithms and then compression using Brotli.
Even if your build or AssetBundle is already compressed using LZ4, LZ4HC or LZMA, Tiny Terrain will be able to reduce its size. Of course the difference in size won't be as huge as with the uncompressed data, but it's still pretty big.
The asset has highly optimized code using direct memory access, which allows for fast compression and decompression, and minimizes additional memory usage. On average, one Terrain is loaded in about 1 second.
Tiny Terrain is not a 3rd party Terrain Engine, and you can use Unity Terrain API and any terrain tools you like, such as Real World Terrain, Gaia, Vegetation Studio, etc.
Using Tiny Terrain is very easy, and anyone can do it, even if it is their first day using Unity.
Just add Tiny Terrain Loader component to Terrain and click Compress.
If you are an advanced user or programmer, Tiny Terrain has events and API that will help you take full control of the loading process.
- High compression ratio from 3:1 to 30:1 with no visible difference, and up to 100:1 with visible quality loss;
- Heightmap. Compression from 2:1 to 10:1;
- Alphamap. Compression from 5:1 to 50:1;
- Detailmap. Compression from 5:1 to 20:1 lossless. Note: Unfortunately, I don't have exact information on how Unity Terrain Engine stores detailmaps, so compression ratio is based on my observations;
- Trees. Compression 3:1;
- Holes. Compression from 1000:1 to 10000:1 lossless;
- Minimal visual differences. In most cases, you won't see visual difference at all;
- Does not affect rendering and can be used with any Render Pipeline: Built-in RP, URP, HDRP, custom RP;
- Fast compression and decompression;
- Synchronous, asynchronous and multi-threaded decompression;
- Terrain API and third party tools for Terrain can be used;
- Third party terrain shaders like RTP and GTS can be used;
- API for compression and decompression;
- Built-in update system.
The asset was tested on PC, Mac, Android, iOS, WebGL.
The rest of the platforms have not been tested, but the asset should also work well on them.