Your comments
I've got it reproducing now, now I've just got to figure out why it happens. It's a very strange error I'm afraid :(
The blending panel on the left goes null when you press play, for whatever reason. None of the other panels do the same. Looking into it now anyhow
Average seems like a bit too specific of a node! I'd recommend a Lerp node with 0.5 as T value :)
Have you managed to find a repro case?
Does it happen with every shader or specific ones?
I'm not sure arrays would help much in this regard. I think the proper solution would be to have a low-res render texture containing motion data, projected onto your whole patch of grass, and then sample that texture in world space to get the grass offset data you need. Even if SF had array support, it wouldn't have for-loop support in any case
This is quite tricky to do right. Ideally, this would work similar to textures, as in, you have an ArraySource (Similar to TextureAsset) and an ArraySampler (Similar to Texture2D when Tex input is connected), but at this point, adding additional type of inputs/outputs is more and more convoluted and tricky. I can look into it, but I can't make any promises. Which type is most important for you? float arrays? float4 arrays?
The tricky thing is that this is a very common symptom of a wide array of things that can happen. Essentially, this is the behavior of any null ref happening there. I'm unable to reproduce this, which is why I'll need a more clear repro case. I suspect it might have something to do with some specific nodes or specific settings that cause this to happen when pressing play.
This thread is super old! Has been fixed somewhere along the way. (Not the problem in the other thread though)
Customer support service by UserEcho
It actually seems like this might be something on Unity's end. It's not only the blending category that goes null, it's even more than that. I think I remember seeing a bug report that Unity has flagged as active. I guess a workaround I could do now is to simply save your shader and then kill SF when you press play, which at least is better than getting a bunch of errors, perhaps?