UIWS Documentation

Welcome to the UIWS documentation page. UIWS is super easy to use whether you want to just drop it into your level as is, or customize it extensively with your own functionality or shaders. If you can’t find what you’re looking for, shoot me an email or get in touch via twitter and I’ll be sure to help you out!


Getting Started

Simple instructions for using UIWS out of the box, enabling interaction, activating caustics and more.

Adding Water (updated 16/05/19)
Enabling Interaction
Activating Caustics
Manager Config
Rivers and Custom Bodies (beta) (new 16/05/19)


Manual Control

Documentation for each blueprint function, implementable event, and C++ function you might want to work with. Here you can learn how to water interaction events generated by UIWS, manually add ripples and splashes to the surface, or otherwise extend the functionality of UIWS

Events and Functions
Advanced Performance Options (new 16/05/19)

new material flow.JPG

Material Customization

All about materials. How to add UIWS to your own materials.

Using your Own materials
Simulation Settings


UIWS Roadmap:


UIWS 1.9 Release Notes

  • Minor (transparent) refactor to optimize performance. Eradicates garbage collection hitches and stops your memory being filled with junk leftover objects.

UIWS 1.8 Release Notes

  • Water bodies now register with a manager when loaded.

    • Slightly new workflow

      • You now manually add a UIWS manager to your persistent level. No sub level (when level streaming) needs a manager anymore.

      • Hypothetically this should allow runtime creation of water bodies, but I’ll need to test this before I gaurantee that

  • Official support for basically every platform that UE4 supports.

UIWS 1.7 Release Notes

  • Replaced a function call I missed for 1.6, ending the motion vector bug for good

  • Added: UIWS River Actor (Beta)

    • Spline based interactive surfaces are now achievable with UIWS

    • These have a new shader which adds flowing movement as well as automatically blending to white water when the angle is steep enough. This shader has most of the same visual features as the default material, but the depth coloration is a bit less complex and I’m hoping to improve it in the future.

    • These splines should work with most any spline based river solution, simply blend MF_UIWS outputs as desired.

    • Currently only manual (function call based) interaction is supported, but my goal is feature parity with water bodies in the long run. This is because automatic interaction currently is achived using an orthographic scene capture that essentially sees a narrow ‘slice’ of the scene, at the water plane surface. The introduction of non-plane surfaces of course breaks that approach, so I’ll need to update the interaction capture process before automatic interaction can be supported again.

  • Added: UIWS Custom Actor (Beta)

    • Use any mesh as a water body. Useful in the case of a round fountain, or a complex river shape etc

    • As with splines, automatic interaction isn’t yet properly supported (though, if you have a totally flat mesh it will work correctly - you just have to untick “Disable Automatic Interaction” on the actor.

  • Updated particle effect shader for correct light transmission

  • Added some more particle effect variations to be used with waterfalls

  • Check out UIWS Demo Level in the plugin example content folder to see examples of the new content in action!

UIWS 1.6 Release Notes

  • Replaced function calls triggering an apparent bug in the engine 4.21 causing motion vectors to become extremely exaggerated (making motion blur look very wrong).

UIWS 1.5 Release Notes

  • Fixed a number of bugs and crashes relating to using UIWS as part of a streamed in sub level. This now works as expected.

  • Known issue - Having multiple sub levels with their own water bodies streamed in at once can cause UIWS sim artefacting. This will be addressed in a future update.

  • Made some tweaks to the UIWS post process settings that should rule out the possibility of it affection motion blur in your projects (reported by a couple of users, but I’ve so far been unable to reproduce)

  • Other bug and crash fixes. If you see some red debug logs relating to UIWS, it means you’ve hit something I believe to be fixed - please report it and I’ll go again asap!

UIWS 1.4 Release Notes

  • Fixed blueprinted water jumping to origin on placement bug

  • Fixed phantom caustics at origin bug

  • Added workaround for issue caused by running dedicated server in PIE

  • Bodies now support yaw rotation with accurate caustics

  • Mesh component chunking added - water mesh is now made up of a number of meshes for performance and quality reasons. Allows for uniform water density at infinite scale

  • Aggressive optimization and scalability options for low end (eg, optionally enable one sim step per tick reducing cpu overhead)

  • Added Some Per platform scalability options.

  • Switch and IOS official support (any platform should hypothetically work)

UIWS Known Issues

  • Underwater post process material is only applied at beginplay (just isn’t visible in editor).

  • Multiple clients in PIE can cause water sim to ‘explode’. This is due to some engine/editor functionality and can be bypassed by un-checking use single process or playing in standalone.


Got feedback? Found a bug? I’ve got forms for that!