MicroSplat

MicroSplat is a modular shading system designed around performance and ease of use. MicroSplat is a replacement shader system for Unity Terrains, and also available for Meshes with the Mesh Workflow. With over 500 five star reviews across it's modules, MicroSplat is the most popular, performant, and feature rich system on the asset store


Simply add the MicroSplatTerrain component to your terrains and with a single button press your terrain shading is significantly improved. Add additional modules for additional features.


Discord Group

Core Documentation


MicroSplat's Core shader package features:


- Up to 32 textures on one terrain in a single pass, or 256 with the 256 texture module

- Significantly faster than any other shader on the asset store

- PBR rendering, with automatic generation of normal, height map, smoothness, and ambient occlusion data when textures are not provided

- Height based blending

- Multiple lighting models

- Terrain or World Space UVs

- Substance Support w/ substance plugin

- Support for Emissive and Metallic surfaces

- Specular or Metallic Workflows

- Support for URP/HDRP with purchase of the correct adapter modules

- Utilities to import/export splat maps from external programs

- Vegetation Studio integration which adds support for grass map rendering.

- Vegetation Studio integration which adds support for distance shadow rendering, rendering dynamic shadows over the entire terrain.

- Support for 2018.3 Terrain Instancing

- Support for 2019.2 Terrain Holes

- MicroVerse integration

- A ton more


Per Texture controls are available for:

- UV Scale and Offset

- Albedo Tint

- Albedo Contrast

- Albedo Brightness

- Albedo Saturation

- Metallic value

- Smoothness Strength

- Normal Strength

- AO Strength

- Metallic

- Height Contrast

- Height Offset

- UV Rotation

- Subsurface Scattering

- Fuzzy Shading

- Micro Shadows

- Additional controls when modules are installed


MicroSplat can be expanded with additional modules that add features such as:


Tessellation and Parallax Mapping

Mesh Terrain Blending

Trax

Anti Tiling Techniques

Paintable Puddles, Streams, Lava, Wetness

Global Texturing Techniques

Dynamic Snow

Terrain Holes

Triplanar UVs

Texture Clusters

Wind and Glitter

Low Poly Look

Mesh Terrain

Procedural Texturing

Scatter

Mesh Workflow

Digger Integration

Polaris Integration


HDRP/URP support sold separately:

HDRP2019, HDRP2020, HDRP2021, HDRP2022, HDRP Unity 6.0, Unity 6.3

URP2019, URP2020, URP2021, URP2022, URP Unity 6.0, Unity 6.3


Considering a lot of the modules? The Terrain Collection is now available offering 11 modules at a discount.


The Ultimate Bundle is also available with 18 modules at an even greater discount.


MicroSplat has custom integrations for many popular assets, including MicroVerse, Vegetation Studio, Enviro, Weather Maker, Vista, and Map Magic. MicroSplat is also compatible with terrain generation systems like World Creator, Terrain Composer 2, and Gaia.


MicroSplat is unbelievably fast, often several times faster than competing shaders with the same feature set turned on, and is optimized for both high end and low end hardware. MicroSplat uses a unique shader generation system, so all features compile out and have no cost when not in use, and only the features you want need to be purchased. Note that MicroSplat is not a subset of MegaSplat, but rather a much more advance sequel



Check out some of our other products:

MicroVerse-Core Collection - Real time, non-destructive environment creation system

Better Lit Shader - A feature rich uber shader that runs on all render pipelines

Better Shaders - Write text based shaders that work across all render pipelines



Release Notes

MicroSplat 3.9.49

- Fix to fallback issue

- Fix to unity 6.3 urp 


MicroSplat 3.9.48

- Unity 6.3 support


MicroSplat 3.9.47

- Vertex only displacement mode

- misc fixes


MicroSplat 3.9.46

- Fix to URP reseting the adapter settings sometimes

- Unity 6 fixes


MicroSplat 3.9.45

- Unity 6 fix


MicroSplat 3.9.44

- Fix to bug in texture packing code when only diffuse map is provided.


MicroSplat 3.9.40

- Fix to render texture release issue when set to quality packing


MicroSplat 3.9.39

- Fix to spew about render texture release


MicroSplat 3.9.38

- Fix to texture corruption issue when converting arrays with no height or normal maps


MicroSplat 3.9.37

- Fix to tangent normalization.


MicroSplat 3.9.35

- Make renaming of _base shader more robust for external tools


MicroSplat 3.9.33

- Support for fast terrain preview module for MicroVerse


MicroSplat 3.9.32

- Add support for upcoming 2022 adapters


MicroSplat 3.9.31

- Fix to height map auto generation


MicroSplat 3.9.30

- Add support for See Through Shader module


MicroSplat 3.9.29

- Fix to some syncing issues with MicroVerse

- Fix to issue that was leaking materials

- Fix for derivative issue in decal rendering

- Fix compile error in trax


MicroSplat 3.9.27

- Made tessellation dampening around alpha holes optional

- Allow for not checking in texture arrays to source control (will be regenerated on opening) - Fix to platform switching

- Code to sort layers (with propdata) from MicroVerse moved into core

- Type is checked before loading texture array on import

- Per texture parallax height added

- fix to sampler stripping issue


MicroSplat 3.9.26

- Fix to procedural texture baking in URP/HDRP



MicroSplat 3.9.25

- Fix to URP2020 switching back to standard semi randomly

- Fix to stochastic texture sampling issue on m1 macs (getting pixelated)

- Allow painting on procedurally textured meshes

- Expose functions so external assets can more easily convert terrains

- Removed integrated assets section on conversion




MicroSplat 3.9.24

- Texture Array Packing optimized to remove a lot of extra memory useage and use the GPU for all operations

- Fix a bug with normal map generation in terrain to mesh conversion

- Fix but with world space UVs for normals

- Improved hashing for texture array config

- Procedural Texturing module shows the override mask when exclusion map is enabled



MicroSplat 3.9.23

- New GUI layout - separate tabs for features, settings, per texture properties, and inline texture array editing from the material editor

- Low poly module has option to fade the wireframe over distance

- Smoothness now generates as 0 when you don't provide a smoothness texture. While people seem to understand it generating a normal automatically, they don't seem to understand it generating a smoothness value and constantly assume no smoothness texture means no smoothness, so now it does.



MicroSplat 3.9.22

- Removal of direct substance support (due to substance API changes)

- Terrain Blending lighting matrix blend can be controlled indepently of texture blend

- Fix to per texture triplanar contrast

- Fix to distance resampling when stream override is used

- Fix duplicate syncing of terrains when many terrains are used

- Reduce memory usage when packing textures

- Better tab controls on FX painter when many modules are present

- Fix to various truncation warnings



MicroSplat 3.9.20

- More stable version of UseInstanceNormal script for terrain blending

- Fix to light layer issue in URP

- You can now use triplanar on terrain blended objects when using world UVs

- Optimized terrain blending shader


MicroSplat 3.9.11

- Support for upcoming 256 texture module

- Bias for clipping exposed when using tessellation

- Fix to render baking in URP

- Added docs for getting GitHub access

- Fix compile error in HDRP 2021 adapter when Decal Layers are used

- Fix several warnings

- Only use asmdef defines instead of installing them into the player settings




MicroSplat 3.9.9

- Tessellation on Instanced Terrain now supports angle bias

- New triplanar mode for fixing smearing on ~90 degree angles on terrains

- Streams simulation now pause when game is paused

- Fix to compile issue in Low Poly Look


MicroSplat 3.9.7

- Streams now tintable

- Fix to procedural texturing sample stripping on windows

- Fix to trax tessellation displacement when using only snow tracks

- Documentation buttons readded to every module


MicroSplat 3.9.6

- Emssive multiplier is now unbounded for HDRP, which needs much higher values

- Fix to Mesh Workflow's vertex mesh syncing

- Fix to wind slope filter to prevent denormalization issue with vector

- Fix warning about render textures in Trax


MicroSplat 3.9.4

- Fix to compile error in stochastic per texture property

- Use of Object.GetHashCode updated to reflect changes unity is making in 2021.2

- Enforce that the propData object assigned to the terrain is the same as the one the material will find. This means you cannot have separate prop data objects for 2 terrains sharing the same material, but it's less likely to cause issues when people don't read the docs and start renaming stuff left and right.

- When changing the shrink source textures option back to unchanged, textures are resized back to normal



MicroSplat 3.9.3

- Fix to rare texcoord2 issue in standard pipeline

- Updates required for HDRP/URP 12.x modules


MicroSplat 3.9.2

- Fix to per texture properties blending between textures introduced by sampler sharing



MicroSplat 3.9.1

- Fix to texture cluster modules compile error in cluster3 mode

- Fix to terrains getting a max texture count of 24 when they should be 16 on conversion



MicroSplat 3.9.0

- Massive refactoring of internal use of texture samplers. A total of 20 samplers were removed from the system, and I don't think it's possible to exceed the hardware sampler limit (16) anymore. Unfortunately this required bumping the major version, since it affects almost every module.

- (internal cleanup) Removed surface shader legacy cruft, mostly using modern declarations and sampling conventions now.

- Fixed a few places where textures were being wrapped instead of clamped, causing potential seems between terrains

- Texture Selection Displays now shows overriden layer name when layer is overridden in Texture Array Config


MicroSplat 3.8.14

- Added "TerrainCompatible" tag to shaders so Unity 2021 doesn't put warnings in the terrain editor

- When using the slope filter in terrain blending, the normal from the terrain is only taken into account on the blend area, not on the tops of objects which are just recieving terrain texturing

- Flip Mesh Workflow normals to match unity standard orientation

- Force array to have 1 texture in it if no textures are provided on conversion

- Trax now filters downward facing surfaces from the effect

- Cleanup to some trax code in HDRP

- HDRP GI emission flag added

- Fix to per texture rotation of UVs in tessellation stages



MicroSplat 3.8.13

- Fix to distant resampled triplanar normals

- Snow amount would get modified by the angle filter, causing the snow to fully appear much too early (around 0.2 in the demo scene). This now always spans the full range from 0-1.

- Better integration of snow with tessellation. Displacement starts a bit later to give time for snow to visually appear before build up. Displacement now fills in the low areas first, then eventually flattens the terrain when enough snow has built up.

- Fix to per texture noise normal strength for noise normals 2 and 3

- Fix to compressor to make sure compression is applied in build on newer unity versions

- Remove per-pixel normal setting on digger shaders


MicroSplat 3.8.12

- Fix to per-texture controls for second/third noise normal in anti-tiling module

- Fix to triplanar when using blend surface normals and tessellation

- Fix to microsplat compressor file format not being linear



MicroSplat 3.8.11

- Fix to triplanar normals- got a little too aggressive with an optimization and it caused some bad lighting on steep slopes.


MicroSplat 3.8.10

- Option to triplanar map snow

- Optimization to triplanar calculations

- Fix to mesh workflow not compiling in builds

- Prevent Rim light power of 0 causing nans



MicroSplat 3.8.7

- Added quality options to texture formats for ATSC in 4x4, 6x6, or 8x8 formats, and BC7 on PC when set to high quality

- Added override option for BC7 texture format

- Flipped triplanar and world UVs to match default UV direction

- Fixed tangent issue in mesh workflow

- Fixed timeout issue in render pipeline detection

- Removed vertexID as it was causing issues on some android devices



MicroSplat 3.6.6

- Fix to using lightmap UVs in Mesh Module

- Fix to tessellation offset


MicroSplat 3.8.5

- Fix to bug in world height when baking procedural texturing back to splat maps


MicroSplat 3.8.4

- Significant optimization to vertex size and interpolator usage for terrain shaders, which helps vertex throughput on low end devices and when using tessellation. Please update tessellation, SRP adapters, and low poly modules if you are using them.


MicroSplat 3.8.3

- Simple Lit option for URP

- Ability to set minimum dieletric to 0 in BIRP

- Fix to weight limiting code when working with over 16 textures

- Better Cleanup for Trax


MicroSplat 3.8.2

- Set asmdef's to AutoReference by default


MicroSplat 3.8.1

- Please see release notes for 3.8.0 below!

- Fix to substance dll not being referenced in core's asmdef

- Fix to compile error in terrain painter on newest patch releases of Unity 2020

- Fix to terrain collection, which for some reason had a corrupted version of the Texture Clusters module





Basic Information
Latest Version
3.9.49 (07 Dec 2025)
Publisher
Jason Booth
Category
Editor Extensions/Terrain
Size
161.4 MB
Price
free
Asset Rating
(256)
Extended Information
Unity Versions
2017.1.0, 2018.4.7, 2019.4.39, 2020.3.35, 2021.3.29
Render Pipelines
BIRP URP HDRP
State
Published