Retro Water System for URP
A downloadable asset pack
Create stylized lakes, rivers, pools, swamps, and large bounded oceans with a water system built specifically for retro-inspired URP projects. ๐
Retro Water System for URP combines a hand-written water shader with reusable profiles, CPU surface sampling, Rigidbody buoyancy, projected caustics, underwater camera effects, and a configurable tiled-ocean system.
The shader is designed around the visual tricks that made older 3D games memorable: stepped animation, visible vertex movement, faceted lighting, limited color bands, texture pixelation, affine-style distortion, ordered dithering, and intentionally crunchy highlights. Every major retro effect can be reduced or disabled, allowing the same system to range from heavily stylized PSX water to cleaner low-poly or PS2-inspired water. ๐ฎ
This is more than a single water material. It is a complete, profile-driven water workflow for designers, programmers, and technical artists.
๐จ Retro Surface Rendering
- Object-anchored or world-locked surface texture mapping
- Texture tiling independent from Transform scale
- Directional flow and stepped value-noise waves
- Adjustable wave scale, height, height bands, and animation frame rate
- Object, world, or view-space vertex snapping
- Faceted normal blending
- Full-resolution or deliberately pixelated texture sampling
- Affine-style texture warping
- Palette reduction and color bias
- Ordered Bayer dithering
- Banded lighting and opacity
- Off, Retro Glints, and Classic Specular highlight modes
- Rim lighting
- Shallow and deep water coloring
- Depth-based color blending and shoreline foam
- Opaque, cutout, and transparent surface modes
- Optional displaced shadow casting
- URP fog, additional lights, and shadows
The surface texture and wave mapping are controlled independently, so stretching a mesh into a river or large lake does not have to stretch its texture.
๐พ Reusable Water Profiles
Build reusable RetroWaterProfile assets that can control:
- Shader appearance
- Surface mapping and CPU sampling
- Caustics
- Underwater camera effects
- Optional ocean generation and LOD settings
Three material workflows are supported:
- Runtime Instance automatically creates a private material from the profile.
- Baked Profile Material uses a shared material asset generated from the profile.
- Manual Material leaves shader properties under direct material control while the profile can still drive supporting systems.
Profiles can be switched through code at runtime, making it easy to transition between calm, stormy, polluted, magical, or other water states. โก
There are provided default starter profiles for:
- Calm Lake
- Windy Lake
- River
- Gentle Ocean
- Rough Ocean
- Swamp
- PS1 Extreme
๐ Tiled Ocean and LOD
Optional ocean mode creates a bounded water grid from the configured ocean size and chunk size.
- Configurable X/Z dimensions and chunk size
- Automatic chunk-count safety limit
- Adjustable near-grid resolution
- Multiple mesh LOD levels
- Viewer-based LOD selection
- Configurable LOD distances
- Optional maximum render distance
- Separate distance-based wave-detail LOD
- Far-wave height and detail reduction
- Continuous world-space waves across chunks
- World-locked texture mapping
- Crack-free shared LOD borders
- Automatic edge-chunk sizing
- Per-chunk material property blocks
- Editor build, rebuild, clear, and diagnostics tools
Nearby chunks retain detailed vertex movement while distant chunks use fewer vertices and simplified waves, helping large oceans stay practical without flattening the water near the player.
โ Rigidbody Buoyancy
Add RetroWaterBuoyant to a Rigidbody for force-based floating behavior.
- Automatic collider-volume samples
- Center-of-mass, local-offset, and Transform sample modes
- Distributed buoyancy forces
- Adjustable buoyancy strength
- Adjustable resting sink depth
- True sinking when maximum lift is below object weight
- Wave-normal and wave-velocity influence
- Optional physical water currents
- Vertical damping and horizontal drag
- Angular resistance and force safety limits
- Soft self-righting with a configurable local up axis
- Entered-water and exited-water events
- Runtime contact and buoyancy information
The CPU sampling system evaluates the same stepped wave field used by the shader, allowing floating objects to follow the visible surface instead of an unrelated flat plane.
โจ Projected Caustics
Project animated caustics onto opaque surfaces beneath the water.
Controls include:
- Assignable caustics texture
- Color and intensity
- World-space scale
- Direction, speed, and distortion
- Maximum projection depth
- Surface fade and depth falloff
- Stepped animation and intensity bands
- Main-light, shadow, and receiver-angle influence
- Directional-light projection
- Multi-surface priorities
Caustics are rendered through the included URP Renderer Feature and reconstructed from the camera depth texture.
๐คฟ Position-Based Underwater Effects
The underwater state is calculated by comparing the camera position against the actual animated water surface.
No trigger volume is required.
This prevents common mismatches where a box volume disagrees with moving waves or finite shoreline boundaries.
Effects include:
- Underwater color and smooth surface transitions
- Distance fog and maximum visibility
- Depth tinting
- Brightness and desaturation
- Screen-space distortion
- Chromatic aberration
- Vignette
- Stepped animation
- Color posterization
- Ordered dithering
- Overlapping-surface priorities
๐ ๏ธ Production-Focused Editor Workflow
Custom inspectors are included for:
- Water profiles
- Water surfaces
- Oceans
- Buoyant objects
- The URP Renderer Feature
- Manual water materials
The Setup & Diagnostics window can:
- Verify the water shader
- Confirm the project uses URP
- Install or repair the Renderer Feature
- Enable URP Depth Texture
- Create water surfaces and oceans
- Create profiles and starter profiles
- Diagnose the selected water object
๐ฎ Suitable For
- PSX- and N64 inspired games
- Retro horror
- Survival and adventure games
- Low-poly environments
- Stylized simulations
- Lakes, rivers, pools, swamps, coastlines, and oceans
LICENSE
Your purchase grants a license to use Retro Water System according to the included LICENSE.txt file. The asset may be used in personal and commercial End Products, but the source package may not be redistributed, shared, or resold.
| Published | 1 day ago |
| Status | Released |
| Category | Assets |
| Author | STL Dynamics |
| Tags | 3D, Low-poly, PSX (PlayStation), Retro, Shaders, Unity, urp, visual-effects, water, water-shader |
| Content | No generative AI was used |
Purchase
In order to download this asset pack you must purchase it at or above the minimum price of $17.49 USD. You will get access to the following files:












Leave a comment
Log in with itch.io to leave a comment.