Originally built for Soar's corruption effect, this metaballs implementation functioned well enough as a standalone module that I decided to release it.
This was implemented using raymarching, running in a post-processing material. Most of the logic is handled by a Custom node running HLSL. Blueprint actors are used as an interface to place metaballs- the data pipeline is:
Metaball Actor -> Master Actor -> Niagara -> RenderTarget -> Screenspace Material
Using a Master Actor and a Niagara particle radically improves the speed of writing to the RenderTarget, enabling real-time, interactive metaballs.



