Curitor
Editor Tooling · Topic Guide

Scene Presentation

A small, standalone visual effect for level authors: drop it on a water plane and the surface reads as moving, with no wave geometry and no per-frame cost beyond a texture offset.

Water Surface Scroll

WaterSurfaceScrolldrifts a renderer's normal map over time, so the specular highlights swim across an otherwise flat surface. Put it on any water renderer whose material is a plain URP/Lit shader with a colour and a normal map — no base texture, or that drifts too.

There is no geometry to displace on a surface built this way (a single quad is the usual shape), so the motion has to happen per-pixel: scrolling the normal map moves the highlights, which is what actually sells water at this scale.

FieldTypeDefaultWhat it does
scrollSpeedVector2(0.018, 0.011)Normal-map drift in UV units per second. Small values read as a slow swell; the two axes deliberately differ so it doesn't look like a conveyor belt.

Using it on your own level

Add a quad or plane, give it a URP/Lit material with a normal map and no base texture, add a WaterSurfaceScroll (it requires a Renderer), and tune scrollSpeed to taste. It runs a material instance (Renderer.material), so the shared material asset on disk is never modified.