As a Roblox developer, it is currently too hard to implement grass on parts, and currently the only solution is to set a very thin layer of terrain and position a part in a manner where you can see the grass, but not the terrain (e.g it’s just a tiny bit above the terrain, but under the grass).
This in itself is already a very messy way of implementing this, and since terrain also can’t perfectly take the shape of a part, you’d usually have to make the part slightly bigger and re-position it, as terrain is aligned differently.
Now, I have tried this and it does indeed work in the end, but the problem doesn’t end just there.
With StreamingEnabled on in my game, Roblox attempts to stitch between terrain LODs at long distances to reduce lag, and don’t get me wrong it’s great, but it causes ‘ghost terrain’ which shows two terrain parts connected together, when they’re not and aren’t even visible (because the terrain parts are put under parts to simulate part grass), which means you can’t even have grass on parts as it’d be messy at long distances.
I’m aware this is being fixed, but this nevertheless does not fix the other concerns of needlessly wasting memory, having to adjust our parts to align with the grid, and much more.
It’s inherently better to put grass on parts directly rather than putting ‘invisible terrain’ with grass under it as it’s both messy and unoptimized. You also have to reposition and resize said parts to align with the grass, which in some cases can add a lot more unnecessary work. Adding grass onto parts internally amends all of the addressed issues, while also maintaining much greater customization to games.
If Roblox is able to address this issue, it would improve my development experience because it would remove any possible issues that I’ve had previously, and also put much less strain on the game, as you would only have terrain grass (which should not have any impact) considering you only have grass instead of adding actual terrain blocks under every part in games built with normal parts only.