I need to access the terrain detail material, to send a value to the shader using material.SetTexture(“TestTexture”, texture)
(I replaced the default grass shader with my own which will utilize this, by adding a file with the same name/path, but I cannot find anyway of accessing the instance of the shader at runtime…)
The closest thing I can think of is to access terrain.terrainData.detailPrototypes[0].prototypeTexture, and force additional data into that texture. This would work, assuming that it is a live link, not just set on initialization (which is probably the case), but is super hacky, when all I need is a reference to the material that Unity is using for the details. I’d then have to rewrite how it read from the texture for basic albedo color.