Tilable terrain that blends

I’m trying to make a terrain system, which has tiles of different things (rock, cobblestone, grass, dirt, etc). I got it working, and even tessellating. The only thing I need now, is a way to make the tiles blend together where the texture changes. This is very confusing to me, and I don’t even know where to begin.

Before you post an asset pack link, understand that I’m not buying anything. I’m just doing this for fun.

Here is a picture of the system.


I want it so that the sand and the cobblestone will blend together at the seam.

I think im going to make a custom mask shader with splatmaps.


EDIT: Did it! Now I just have to code some sort of architecture to manage stored tiletypes and heights instead of building it procedurally. I’m thinking of making an SQL database or something. Then, for each tile, it can look at the neighboring tiles, and use that info to determine what textures to use for border blending.