> For the complete documentation index, see [llms.txt](https://university-of-games.gitbook.io/welcome/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://university-of-games.gitbook.io/welcome/products/utilities/shader-pack-cartoon-water-and-environment.md).

# Shader Pack: Cartoon water & environment

Shader Pack: Cartoon water & environment — Wind Waker style water and Toon Lit for Unity 6 URP. Full docs by University of Games.

![Demo General — Wind Waker style ocean with depth foam, vertex waves and a cel-shaded island](https://files.catbox.moe/5w7b8z.png)

**Shader Pack: Cartoon water & environment** is a stylized URP shader package from University of Games. It recreates the iconic *The Legend of Zelda: The Wind Waker* look — a flat, saturated ocean with hand-drawn foam — plus a matching cel-shaded **Toon Lit** shader for characters, props and islands. Built for **Unity 6** and the **Universal Render Pipeline**.

{% hint style="success" %}
**Get it on the Unity Asset Store:** [Shader Pack: Cartoon water & environment](https://assetstore.unity.com/packages/vfx/shaders/shader-pack-cartoon-water-environment-201242) — available now for Unity 6000+.
{% endhint %}

{% hint style="info" %}
**Who is this for?** Indie developers and small studios building cartoon, cel-shaded or Wind Waker–inspired worlds who want production-ready water and toon materials without writing custom HLSL from scratch.
{% endhint %}

{% hint style="success" %}
**Requirements:** Unity **6000.0+** · Universal Render Pipeline (**URP 17+**) · **Depth Texture** enabled · renderer **Depth Texture Mode** = *After Opaques* (bundled URP assets + auto validator cover this)
{% endhint %}

***

## In plain language — what do you get?

A complete stylized-look toolkit that ships as one asset folder:

1. **Cartoon Water** — single-pass transparent URP HLSL: depth gradient, intersection foam, secondary foam layer, distortion, fresnel horizon, optional reflections, sun glint and vertex waves.
2. **Toon Lit** — Wind Waker cel banding for characters and props: shadow tint, toon specular, rim, emission, constant-width outline, alpha clip.
3. **Water Surface + Buoyancy** — CPU wave sampling that matches the shader, so crates and rafts float on the rendered swell.
4. **Underwater camera effect** — URP Render Feature with fog, refraction, caustics, Snell window and vignette when the camera dives below the surface.
5. **URP Setup Validator** — one-click fix for the two settings that cause "white water" on new Unity 6 projects.
6. **Four demo scenes** — full ocean, mesh variants, toon gallery, floating physics.

Every optional shader feature sits behind a `shader_feature` keyword and is stripped from the build when disabled.

***

## Quick start

{% stepper %}
{% step %}

### Install

Install from the [Unity Asset Store](https://assetstore.unity.com/packages/vfx/shaders/shader-pack-cartoon-water-environment-201242). On import, the **URP Setup Validator** may offer to fix Depth Texture settings — accept it.
{% endstep %}

{% step %}

### Confirm URP

**Project Settings → Graphics** should use a URP asset. You can assign a bundled asset from `Settings/` (Low / Medium / High). Re-run validation any time via **Tools → Shader Pack: Cartoon water & environment → Validate URP Setup**.
{% endstep %}

{% step %}

### Open a demo

Open `Scenes/Demo General.unity` and press Play. Drag with the left mouse button to orbit. Dive the camera below the waterline to see the underwater effect.
{% endstep %}

{% step %}

### Use in your scene

Assign `Material/Cartoon Water URP` to any flat mesh. For characters and props, use `CartoonPack/Toon Lit` or a bundled WindWaker / Toon preset. Continue in Getting Started.
{% endstep %}
{% endstepper %}

***

## Features

<table data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><h3>🌊</h3></td><td><strong>Wind Waker ocean</strong></td><td>Depth colours, dual-layer foam, distortion, fresnel horizon, reflections and sun glint.</td></tr><tr><td><h3>🎭</h3></td><td><strong>Toon Lit</strong></td><td>Cel banding, rim, outline, emission and cutout for the whole environment.</td></tr><tr><td><h3>🛶</h3></td><td><strong>Buoyancy physics</strong></td><td>CPU waves match the shader — crates, rafts and barrels float and rock.</td></tr><tr><td><h3>🤿</h3></td><td><strong>Underwater camera</strong></td><td>Fog, caustics, refraction, Snell window — full-screen URP Render Feature.</td></tr><tr><td><h3>🛠️</h3></td><td><strong>URP auto-setup</strong></td><td>Editor validator + runtime safety net fix white-water Depth Texture issues.</td></tr><tr><td><h3>📱</h3></td><td><strong>Mobile-ready</strong></td><td>Toggle features off and they vanish from the compiled shader.</td></tr></tbody></table>

***

## Documentation map

| Page                        | Contents                                                            |
| --------------------------- | ------------------------------------------------------------------- |
| Getting Started             | Install, URP check, first water plane, first toon material, recipes |
| Cartoon Water               | Features, material properties, performance, look recipes            |
| Toon Lit                    | Cel banding, outline, rim, emission, cutout, lighting notes         |
| Water Physics (Buoyancy)    | Water Surface + Buoyancy setup and tuning                           |
| Underwater Camera           | Render Feature, camera component, material knobs                    |
| Demo Scenes                 | What each demo shows and how to explore it                          |
| URP Setup & Troubleshooting | White water, foam, reflections, outlines — fixes                    |

***

## Architecture

```mermaid
flowchart TD
    URP["URP Asset + Depth Texture"] --> Water["Cartoon Water shader"]
    Water --> Foam["Depth foam + noise"]
    Water --> Waves["Vertex waves"]
    Waves --> Surface["WaterSurface CPU mirror"]
    Surface --> Buoy["Buoyancy Rigidbodies"]
    URP --> Toon["Toon Lit shader"]
    URP --> UW["Underwater Render Feature"]
    Cam["UnderwaterCameraEffect"] --> UW
    Surface --> Cam
```

### Design principles

1. **One water shader, many looks** — ocean vs calm pool is material presets, not separate shaders.
2. **Gameplay matches visuals** — `WaterSurface` reimplements the same sine swell on the CPU for buoyancy and underwater triggers.
3. **Optional = free** — disabled `shader_feature` keywords are stripped at compile time.
4. **SRP Batcher first** — material properties live in `UnityPerMaterial` CBs.
5. **Project safety** — validator + runtime guard catch broken Unity 6 Depth Texture defaults.

***

## Package layout

```
Assets/Shader Pack - Cartoon water & environment/
├── Scenes/          Demo General, Water Meshes, Toon Showcase, Physics
├── Material/        Water + WindWaker / Toon presets
├── Meshes/          Water Disc, Lagoon, Plane HD
├── Scripts/         WaterSurface, Buoyancy, Underwater*, Orbit camera, URP validator
├── Settings/        CartoonPack-URP-Low/Medium/High + Renderer
├── Shader/          Cartoon Water, Toon Lit, Underwater Effect (+ optional Shader Graph)
├── Textures/        PerlinNoise, WaterDistortion
└── README.md
```

***

## Version history (highlights)

{% updates format="short" %}
{% update date="2026-07-17" tags="fix" %}

## 2.1.1 — URP auto-setup (white water fix)

Editor **URP Setup Validator**, runtime safety net, demo cameras force Depth Texture On. Covers *Depth Texture* off and *Depth Texture Mode = After Transparents*.
{% endupdate %}

{% update date="2026-07-17" tags="feature" %}

## 2.1 — Toon Lit & new demos

Toon Lit shader, Wind Waker materials, calm water preset, Demo Water Meshes / Toon Showcase / Physics, buoyancy scripts.
{% endupdate %}

{% update date="2026-07-17" tags="major" %}

## 2.0 — Unity 6 / URP rewrite

Cartoon Water rewritten to native URP HLSL. Secondary foam, fresnel, reflections, sun glint, vertex waves.
{% endupdate %}
{% endupdates %}

***

## Support

Questions about the package? Reach us via the [Unity Asset Store publisher page](https://assetstore.unity.com/publishers/25633) or the channels listed under [Community](/welcome/community.md).
