SplatterFX is the easiest way to add real, persistent liquid effects to your Unity game. Blood, mud, acid, paint, oil — drop the manager prefab into your scene, hit play, and any click, hit, or particle collision spawns shaped splats that stick to the surface, respect the lighting, and drip down your characters.
No code required. No 3D-art skill required. Tweak everything from the inspector.
What you get
🩸 Real splatter that sticks and drips
Every splat is a real Decal Projector (or per-character RenderTexture overlay), so it follows the surface curvature of your meshes — even moving skinned characters. Drips run down from each splat using gravity-projected flow, on walls, sphere apexes, and the curved limbs of your characters.
🎯 Three render modes — switch per-object
Set the render mode per-object via the SplatterReceiver component — a spray fired from your character can land on a wall and render with the wall's settings.
💧 Four spray styles
🎨 Profile-driven look
Every effect is a SplatterProfile ScriptableObject. Tune color, materials, particle counts, spray cone, gravity, drag, drip behavior, mist/drop ratios — all from one inspector. Duplicate a profile in seconds to make a new look. Bundled profiles included: BulletHit, SlashWound, ShotgunBlast, Drip, Character, Green.
🧱 Material presets
Ship-ready gore looks: Blood (Wet), Mud (Matte), Acid (Glow) — for both URP and HDRP. Plus matching particle materials.
🔌 Use your own assets
Drop any decal material into profile.decalMaterial and it just works — Decal shader graph, URP stock Decal, HDRP/Decal, your own custom shader, all supported. The runtime composes your material with a random shape silhouette per spawn for variety.
Drop any particle prefab into profile.particlePrefab — SplatterFX uses your prefab as-is (size, lifetime, sub-emitters, trails, your art). The prefab is authoritative. No need to rewire anything.
Custom drip materials, custom decal projector prefabs (for full draw-distance / angle-fade / layer control), and a per-mode BuiltIn material slot are all exposed on the profile too. Swap any single piece without touching the others.
⚡ One-click setup
Tools > SplatterFX > Get Started generates everything: shaders, textures, materials, the default profile, the manager prefab, and a curated demo scene with three side-by-side characters showing each render mode.
🔁 URP ↔ HDRP switcher
Built-in pipeline switcher regenerates the right shader and materials when you move between URP and HDRP. Auto-detects the active pipeline on script reload.
🚀 Performance
🛠 Developer-friendly API
// Splatter at a point
SplatterAPI.Splatter(hit.point, hit.normal, bloodProfile);
// Splatter from a particle collision
SplatterAPI.SplatterCollision(hit.point, hit.normal, bloodProfile, hit.gameObject);
🎮 Bundled demo
Three demo characters (one for each render mode) side-by-side, plus a sphere, a crate, walls, and floor. Click anywhere with the demo scene loaded and see exactly how each mode looks.
Compatibility
Discord & support
Bug reports, feature requests, customization help, and "look what I built with it" all welcome.
What's NOT included