> For the complete documentation index, see [llms.txt](https://postica.gitbook.io/binding-system-3/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://postica.gitbook.io/binding-system-3/tutorials.md).

# Tutorials and Demo Scenes

Build a complete example in one sitting, or explore the demo scenes that ship with the package.

The rest of this documentation describes what every part of the system does. This section does something different: each page builds **one working thing**, from an empty scene or close to it, in one sitting.

Every tutorial is independently completable. It assumes you have read [Your First Binding](/binding-system-3/getting-started/first-binding.md) and nothing else. Where a step needs a concept explained, the explanation is at the end, under **What just happened**, so that nothing interrupts the build.

## Three paths

<table><thead><tr><th width="200">Path</th><th>What it means</th></tr></thead><tbody><tr><td><strong>No code</strong></td><td>Built entirely from the Inspector, with <a href="/binding-system-3/overview/proxy-bindings.md">proxy bindings</a>. This is the main sequence, and it is where to start whatever your role is.</td></tr><tr><td><strong>With code</strong></td><td>Shorter, for programmers. When a <code>Bind&#x3C;T></code> field is the right call, and how to write a modifier and a converter of your own.</td></tr><tr><td><strong>At project scale</strong></td><td>Not one binding but hundreds. Auditing before a release, finding the one that costs you frames, and surviving a rename.</td></tr></tbody></table>

## No code

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>A Health Bar with No Driver Class</strong></td><td>A fill bar that follows a value, and the script you no longer write</td><td><a href="/binding-system-3/tutorials/health-bar.md">A Health Bar with No Driver Class</a></td><td><a href="https://3048705056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLUfBXR02sJ5i0MxwYbaV%2Fuploads%2FpvEnxZqf8CI4ZevcYFxB%2Fimage.png?alt=media&amp;token=cab66ca0-9d37-4050-9140-86ed0fc5cd69">image.png</a></td></tr><tr><td><strong>A Settings Panel That Drives the Scene</strong></td><td>One named value, several targets, and no singleton</td><td><a href="/binding-system-3/tutorials/settings-panel.md">A Settings Panel That Drives the Scene</a></td><td><a href="https://3048705056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLUfBXR02sJ5i0MxwYbaV%2Fuploads%2FUrSEHrOuzIcZ7h5hdl3l%2FScreenshot%202026-09-26%20at%2015.12.23.png?alt=media&amp;token=b247f08c-b934-4eef-bcb2-01c8cd6d2c2a">Screenshot 2026-09-26 at 15.12.23.png</a></td></tr><tr><td><strong>Binding an Asset You Cannot Edit</strong></td><td>ScriptableObjects, materials, and which file the binding lands in</td><td><a href="/binding-system-3/tutorials/binding-assets.md">Binding an Asset You Cannot Edit</a></td><td><a href="https://3048705056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLUfBXR02sJ5i0MxwYbaV%2Fuploads%2FzpiNpkwA7NJlv7YZLYMm%2FScreenshot%202026-09-26%20at%2015.49.02.png?alt=media&amp;token=34567fe6-cde7-48e1-8744-8d32ed62155e">Screenshot 2026-09-26 at 15.49.02.png</a></td></tr><tr><td><strong>Making a Value Follow Smoothly</strong></td><td>Tween, damp, and the update setting that ruins both</td><td><a href="/binding-system-3/tutorials/smooth-values.md">Making a Value Follow Smoothly</a></td><td><a href="https://3048705056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLUfBXR02sJ5i0MxwYbaV%2Fuploads%2FpY40G40DesX0XQrhXIsE%2FScreenshot%202026-09-26%20at%2016.08.41.png?alt=media&amp;token=5b52df3d-45a5-4b9b-9e49-1e5e45beacf5">Screenshot 2026-09-26 at 16.08.41.png</a></td></tr><tr><td><strong>A HUD in UI Toolkit</strong></td><td>Binding from UI Builder, and where the binding is kept</td><td><a href="/binding-system-3/tutorials/uitoolkit-hud.md">A HUD in UI Toolkit</a></td><td><a href="https://3048705056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLUfBXR02sJ5i0MxwYbaV%2Fuploads%2Fzyg1LXipcRDzUe8ROe1B%2FScreenshot%202026-09-26%20at%2016.56.51.png?alt=media&amp;token=92e8ade6-58fb-4cdb-88d1-bd6370c0975f">Screenshot 2026-09-26 at 16.56.51.png</a></td></tr></tbody></table>

## With code

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>When to Declare a Bind Field</strong></td><td>The same bar in code, and the frame of difference</td><td><a href="/binding-system-3/tutorials/bind-field.md">When to Declare a Bind Field</a></td><td><a href="https://3048705056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLUfBXR02sJ5i0MxwYbaV%2Fuploads%2F1jZp03GfxLu2MeK2w8D1%2FScreenshot%202026-09-26%20at%2023.02.18.png?alt=media&amp;token=fe268fa7-e257-44a6-b24f-94439b50424f">Screenshot 2026-09-26 at 23.02.18.png</a></td></tr><tr><td><strong>Writing Your First Modifier</strong></td><td>Twenty lines, a bindable parameter and a working inverse</td><td><a href="/binding-system-3/tutorials/first-modifier.md">Writing Your First Modifier</a></td><td><a href="https://3048705056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLUfBXR02sJ5i0MxwYbaV%2Fuploads%2FAtilxVptPT6kw0CtwzGh%2FScreenshot%202026-09-26%20at%2023.13.03.png?alt=media&amp;token=94907fa4-2024-418e-8467-30d79e816e6e">Screenshot 2026-09-26 at 23.13.03.png</a></td></tr><tr><td><strong>Writing Your First Converter</strong></td><td>Crossing a type boundary, in both directions</td><td><a href="/binding-system-3/tutorials/first-converter.md">Writing Your First Converter</a></td><td><a href="https://3048705056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLUfBXR02sJ5i0MxwYbaV%2Fuploads%2FhnblJ1HBb3D1vMgEJ47Y%2FScreenshot%202026-09-27%20at%2011.20.28.png?alt=media&amp;token=8b3792e0-5a67-4a60-be21-59e8102681c3">Screenshot 2026-09-27 at 11.20.28.png</a></td></tr></tbody></table>

## At project scale

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Auditing a Project Before Release</strong></td><td>Two passes: what is broken, then what was never finished</td><td><a href="/binding-system-3/tutorials/audit.md">Auditing a Project Before Release</a></td><td><a href="https://3048705056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLUfBXR02sJ5i0MxwYbaV%2Fuploads%2F21Qf752LfgnGaAdI0WZS%2FScreenshot%202026-09-27%20at%2011.48.26.png?alt=media&amp;token=dc555424-fb1f-4cef-b3d1-da3aff511569">Screenshot 2026-09-27 at 11.48.26.png</a></td></tr><tr><td><strong>Finding the Binding That Costs You Frames</strong></td><td>Measure first, then four fixes in order of payoff</td><td><a href="/binding-system-3/tutorials/find-the-cost.md">Finding the Binding That Costs You Frames</a></td><td><a href="https://3048705056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLUfBXR02sJ5i0MxwYbaV%2Fuploads%2FtzV8S90ESUAKmHmqnpZd%2FScreenshot%202026-09-27%20at%2018.25.26.png?alt=media&amp;token=0c8e9af9-9dd1-4fd1-8ee4-008b165be678">Screenshot 2026-09-27 at 18.25.26.png</a></td></tr><tr><td><strong>Surviving a Rename</strong></td><td>Redirect fifty bindings in one decision, and the one case nothing can</td><td><a href="/binding-system-3/tutorials/surviving-a-rename.md">Surviving a Rename</a></td><td><a href="https://3048705056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLUfBXR02sJ5i0MxwYbaV%2Fuploads%2FwFYW3iZyl1S6GXzRkXPB%2FScreenshot%202026-09-27%20at%2019.03.47.png?alt=media&amp;token=96bf3431-0110-4b55-b932-7b69318da5c1">Screenshot 2026-09-27 at 19.03.47.png</a></td></tr></tbody></table>

## Demo scenes

Explore the finished examples in the package, including Cozy Nook, Courtyard and Bindings Demo. Open them to inspect the connections and try a change in a working scene.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Demo Scenes</strong></td><td>Import the samples, take a five-minute tour, and follow the wiring.</td><td><a href="/binding-system-3/tutorials/samples.md">Demo Scenes</a></td><td><a href="https://3048705056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLUfBXR02sJ5i0MxwYbaV%2Fuploads%2F8yp2zbXnwRdz0EJZgJiv%2FScreenshot%202026-09-28%20at%2017.50.19.png?alt=media&amp;token=27d888bc-5c64-4c4e-b856-a8c56f89bd49">Screenshot 2026-09-28 at 17.50.19.png</a></td></tr></tbody></table>

## How to read a tutorial

Each one has the same shape.

<table><thead><tr><th width="230">Section</th><th>What it contains</th></tr></thead><tbody><tr><td><strong>What you will build</strong></td><td>The finished thing, and roughly how long it takes.</td></tr><tr><td><strong>What you need</strong></td><td>One line. If you have more than this, fine.</td></tr><tr><td><strong>The steps</strong></td><td>One action each, with the result you should see. If you do not see it, the step says why.</td></tr><tr><td><strong>What just happened</strong></td><td>The mechanism, after it has worked. Links into the reference for the details.</td></tr><tr><td><strong>Try changing this</strong></td><td>Two or three changes that break it in ways worth understanding.</td></tr></tbody></table>
