Per the title, the Shallow Water Body actor (Advanced Water Plugin) fails to render when built to an .exe. Particularly, your log gets spammed with 2 errors repeating (which I suspect is the root cause):
- LogShallowWater: Warning: UFFTOceanPatchSubsystem::GetOceanNormalRT - Ocean simulation system not loaded
- LogPlayLevel: Warning: UAT: [2025.08.07-23.45.39:830][994]LogShallowWater: Warning: UShallowWaterRiverComponent::Rebuild() - ocean patch normal RT is not initialized
Notes:
- You do not get this warning while playing in the editor.
- It does render just fine in the Editor, it only fails when you package up and run an executable.
- Yes, all the Water plugins are enabled, double and triple checked.
How To Easily Reproduce:
- Create an empty project.
- Enable all Water plugins.
- Add Terrain.
- Add Water Body River actor.
- Note: If you compile here, the REGULAR River actor looks just fine, no issue, no log warnings.
- Add Shallow Water River actor.
- In the Shallow Water River Actor, add the Water Body River actor you created in the Source River Water Bodies.
- In the Shallow Water River Actor, Hit Reset at the top (aka Simulate).
- Let simulation finish, then Bake (at the top next to Reset).
- In the Shallow Water River Actor, change Render State to Water Component with Baked Sim.
Everything looks great in the Editor. Now try to package it up (e.g. use Platforms → Quick Launch → Windows). Once the Editor is done building everything and deploys your game, note that you can no longer see any rendering of the Shallow Water River.
Final note: the baked simulation IS there, I’ve tested this extensively with for example Buoyancy, and it’s clearly using the baked sim and river component, but it’s not RENDERING it.
HELP: Anyone have any idea how to get it to Render and/or solve the above errors? Reminder, yes, the Water Plugins are ALL enabled, restarted, etc. I repro’d this in a completely blank project, it fails. I even ran a custom blueprint to check if it thinks the WaterMesh = isVisible, and it came back true (while literally not showing it).