Quickest way to create UVs for a tileset using a single tiling texture I am still fairly new to Blender (couple months in)

Right now I'm working with a tileset that looks like this:



The code in Unity places these tiles procedurally and creates a world out of them. It works pretty well, but we would also ideally want to use a single texture on all of them.

The texture we have looks like this (the green tickmarks are guides for me and don't show up in the final model):



And here is a screenshot of the tile pieces that I have completed the UVs for. They work, and they tile correctly.




The problem is that this process takes a long time. I am basically moving UV vertexes around manually in the UV editor. Is there a better way to do this? As an aside, the seams I've chosen also look like crap in Unity, which is another issue but may be related to how I'm doing this.

We're trying to accomplish a look of "grass transitioning to dirt" in one texture and tileset, with a kind of cartoony, cell-shaded look.
You may try the Data Transfer modifier, which will be released with the coming 2.74, but you can still experience it in the latest daily builds here.


Add a Data Transfer modifier, choose the source object you want to copy from.
Toggle Face Corner Data > UVs, then press Generate Data Layers button, which will generate a UV data for the new object (you cannot see it until the modifier is applied).
Choose a proper method from the list on the right, you can preview it in GLSL shading mode. Finally, apply the modifier to generate a solid UV layer.


Before:


After:


NOTE:


For batch copying modifier among objects, you can enable the Copy Attributes Menu addon.
Since it is not fairly stable (currently), use it with caution.