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)
Material Customization
All about materials. How to add UIWS to your own materials.
UIWS 1.10.3 Release Notes
Fixed a crash when compiling a blueprinted WaterBody actor
UIWS 1.10.2 Release Notes
Minor fixes and quality of life improvements.
Fixed a crash on server travel
Added: Physical Ripple Reflection
Notes: Currently only supports automatic interaction pipeline. Not yet available on rivers.
4.25 Support (28/05/20)
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.