So I’m pretty sure after closer inspection that if you move the spline points in a way that would deform the mesh then it won’t get displayed properly because the mesh needs to get recooked. It seems that there are two different levels of mesh building:
-
Editor triggered when OnWaterBodyChanged is called when the change type is not interactive (which is the case when you use editor to drag a spline point and lift up/finish action triggered)
-
Runtime - there is a GenerateMeshes() call in UpdateBody which is a bit of a misnomer in that it looks as though its not really generating meshes but rather updating associated metadata
I’m afraid at this stage you can’t update water splines during runtime if the nature of the update results in an altered shape. All meshes that have their structure altered will not render, but those that were unaffected will still render. You can move around the actor, I suspect even rotate it - but because the OnWaterBodyChanged method triggered by the Editor calls UpdateWaterBodyRenderData and this ultimately cooks using MeshBuilder.BuildWaterInfoMeshes which is well entrenched in editor-only logic - would be hard to pull it out and make accessible to game runtime.
I do wonder what their plan is for this plugin. Its been "experimental " now since at least 5.1. Would think its time to clean it up and make it official. If any Epic folks are reading these it would be very handy to allow the spline meshes to be properly updated at runtime.