Help this asset pack reach its goal

Raised
$0.00
Goal
$100.00
0%
of goal

A downloadable asset pack

Buy Now
On Sale!
30% Off
$24.99 $17.49 USD or more

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:

  1. Runtime Instance automatically creates a private material from the profile.
  2. Baked Profile Material uses a shared material asset generated from the profile.
  3. 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.

Purchase

Buy Now
On Sale!
30% Off
$24.99 $17.49 USD or more

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:

RetroWaterSystem_1.0.0.unitypackage.zip 31 MB

Download demo

Download
LICENSE.txt 9.3 kB

Development log

Leave a comment

Log in with itch.io to leave a comment.