> 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/help/change-log.md).

# Change Log

What changed, newest first.

### 3.0.2

#### New

* [VS Code and Rider](/binding-system-3/reference/integrations/vscode-and-rider.md): above each class and member of your project, how many bindings use it, and above each `Bind<T>` field, in how many objects it is bound and to what. Click to list the bindings, pick one and Unity selects it. The extension installs itself in the editor Unity opens scripts with, and is set up in **Project Settings ▸ Binding System ▸ Configuration ▸ IDE Integration**.

#### Fixed

* With several objects selected, binding a [proxy binding](/binding-system-3/overview/proxy-bindings.md) with its hexagon bound it only on the object the Inspector showed. The others took its path and source but stayed unbound. The toggle now reaches every object that shares the binding, as **Enable Binding** and **Disable Binding** already did.
* A bound field with no path yet, in a scene or prefab that was not open, was read as having the path `_bindType:`, and the [Bindings Validator](/binding-system-3/project-tools/diagnostics/validator.md) and [Bindings Dependencies](/binding-system-3/project-tools/diagnostics/dependencies.md) reported it that way. Both now see a binding with no path.

### 3.0.1 - October 9, 2026

#### New

* [State and State Asset](/binding-system-3/overview/state.md): fields of its own for any object or asset, made in the Inspector and drawn the way a script's fields are. Drag the object into a bind field and its members are there, and renaming one leaves its bindings working. Members can be sorted into groups, dragged in and out by a handle.
* The **Color to Gradient** [converter](/binding-system-3/pipeline/converters.md#what-ships-in-the-box): a colour placed anywhere along a gradient, or along the whole of it.
* The **Min Distance**, **Max Distance** and **Clamp Distance** [modifiers](/binding-system-3/pipeline/modifier-catalogue/vectors.md#min-distance-max-distance-and-clamp-distance): keep a vector within a distance of a center point, without changing its direction.

#### Improved

* The [Scene Visualizer](/binding-system-3/project-tools/diagnostics/scene-visualizer.md) is quieter: the halos and outlines on bound objects, the glow under the arrows, the trails behind the flow dots and the rings on shared points are gone. The **Halos** switch went with them.
* The type pickers of bind variables and of State members name types the way C# does: `float` rather than `Single`.
* Modifiers that were drawn without an icon now have one, and `void` has a clearer one.

#### Fixed

* A format the value's type does not accept tints its whole field red again, not only the mark inside it.
* A path too long for its field, with its source shown or its last step in bold, no longer starts with a piece of formatting code such as `#C4C4C4BF>`. It is shown plain until there is room for it.

### 3.0.0 - October 7, 2026

The first release of the 3.x line. **Requires Unity 6000.0 or newer**; projects on an older editor should stay on 2.x. See [Upgrading from Binding System 2](/binding-system-3/getting-started/upgrading.md).

#### New

* [Bindings for UI Toolkit](/binding-system-3/overview/ui-toolkit.md): bind UXML element properties from UI Builder, stored on the scene's UI Document or in the asset.
* [A UI Document as a source](/binding-system-3/overview/ui-toolkit.md#a-ui-document-as-a-source): bind to an element's members, inline style or USS classes, found by hierarchy, name or class.
* [Method binding](/binding-system-3/overview/paths.md#parameters): a path can call a method or an indexer, and each argument can be a binding of its own.
* [Casting along the path](/binding-system-3/overview/paths.md#casting-along-the-path): carry on into the members of a derived type.
* [Eight source modes](/binding-system-3/overview/sources.md): a variable, a name or path, a tag, a pattern, the context, a scene search or a static type, alongside the direct reference.
* [Bind variables](/binding-system-3/overview/bind-variables.md): named values in a scene or an asset, usable as sources, with **On Value Change** targets and a window of their own.
* [Micro UI](/binding-system-3/overview/micro-ui.md): a bound field keeps its own control and shows the value the binding produces, with only the hexagon beside it. Its centre lights green or red for the value shown, and a click opens the binding in a popup. Off by default.
* [Visible Source](/binding-system-3/overview/binding.md#the-source-on-the-path): the path button can start with the binding's source.
* [Bindings Validator](/binding-system-3/project-tools/diagnostics/validator.md): finds the bindings that cannot work across a scene or the whole project, repairs them in place, and runs in batch mode for CI.
* [Bindings Dependencies](/binding-system-3/project-tools/diagnostics/dependencies.md) and the [Dependency Graph](/binding-system-3/project-tools/diagnostics/dependency-graph.md): every binding in the project, read from the serialized data. A binding can be edited from the graph.
* [Scene Visualizer](/binding-system-3/project-tools/diagnostics/scene-visualizer.md): the bindings of the loaded scenes as arrows in the Scene view.
* [Templates](/binding-system-3/pipeline/templates.md) for modifiers, converters and paths, in one window.
* [Standard modifiers for your types](/binding-system-3/pipeline/standard-modifiers.md): Set Value, Link To, Null Check, Value Delayer, Value Logger, Value Events and Value Conditions, generated for types Unity cannot serialize generically.
* New modifiers: Value Events, Value Conditions, Remap Range, Snap Value, Evaluate Curve, Blend Color, Blend To, Set Alpha, Vector Magnitude, Rotate Vector, Text Template, and Value Logger with an optional file sink.
* Copy and paste a whole binding, a converter or a run of modifiers, through the system clipboard.
* [Bulk editing](/binding-system-3/overview/binding.md#editing-several-bindings-at-once) across selected objects and across the matching elements of a list.
* [Build-time optimized accessors](/binding-system-3/project-tools/performance/optimized-accessors.md).
* [IL2CPP specializations](/binding-system-3/project-tools/performance/il2cpp-specializations.md).
* [Performance Mode](/binding-system-3/project-tools/performance/performance-mode.md).
* [Removal assistant](/binding-system-3/help/removing-the-package.md): writes down every binding, and can turn them into plain values or generated components before the package leaves.
* [Welcome screen](/binding-system-3/getting-started/welcome-screen.md), replacing the splash screen.
* The `[InlineToggle]` [attribute](/binding-system-3/reference/attributes.md#on-bind-fields), for a one-word switch on a bind field's row.

#### Improved

* Phased bindings are on by default, and a stage now costs what it does in a fixed binding: 17 ns instead of 27 on IL2CPP.
* The bind path menu opens at once and fills its groups as they are opened. Search runs to a budget, with a **Search deeper** row.
* The source mode picker shows each mode's runtime cost, and the source toggle is lit in the mode's colour.
* The context is the root of the name, tag and pattern searches, with a pill to use the binding's own GameObject.
* Saved paths for a type no GameObject carries, such as `Mouse`, are offered through its static accessor.
* Refactoring reaches the whole project through the validator, adds **Ignore** and **Undecide**, applies in one undo step, and keeps decisions as rules you can review and forget one by one.
* Refactoring also catches renamed source members of loaded proxy bindings, after every script reload and scene open.
* UI Toolkit bindings stored in the asset no longer need a named element, and nothing is written over unsaved UI Builder changes.
* **Enable Binding** and **Disable Binding** act on every selected object, and a picked path reaches them all.
* The Dependency Graph draws variables, static types, tags and the other runtime sources as nodes.
* Settings: every option is a card that says what it costs, with all visualization options in one panel.
* Every menu item is under **Window ▸ Binding System**.
* Play mode works with **Reload Domain** switched off.
* The type pickers for static sources and bind variables open at once.
* Proxy bindings show in floating Properties windows.

#### Changed and removed

* **Minimal UI** removed: the UI Toolkit drawer is simply the drawer.
* **Show Implicit Converters** and **Show Incompatible Modifiers** removed.
* **Show Target Replacement** is now **Visualization ▸ Source Replacement**.
* **Optimization** and **Auto Apply Optimization** replaced by [Build-Time Optimized Accessors](/binding-system-3/project-tools/performance/optimized-accessors.md).
* **Build All AOT Code** removed: not needed on Unity 6000.
* The [Reserializer](/binding-system-3/project-tools/diagnostics/reserializer.md) is off by default, behind the `BS_LEGACY_SUPPORT` define.
* New identity, icon set and banner.

#### Fixed

* A binding with four or more modifiers applied only the last one.
* Writing through a read-only modifier threw in a phased binding.
* A `PhasedBind<T>` field with a modifier threw on its first read.
* Refactoring rewrote paths by text replacement, corrupting other segments.
* A `[FormerlySerializedAs]` chain naming the field's own name hung the editor.
* Paths through a property hidden with `new`, such as `Mouse.current`, could not be resolved.
* A converter picked in the menu, such as an enum converter, was swapped for another when the Inspector rebuilt.
* Tween Animation wrote NaN with a zero duration, and **Adapt Animation** when the target came back past the value.
* Motion modifiers on a binding with an update interval arrived late, in proportion to the interval.
* Crashes when changing lists of bindings and when a script reference is missing.

### 2.x

The 2.x line remains supported for projects on editors older than Unity 6000.0, and its documentation stays online. Its change log is on the [Binding System 2 documentation site](https://postica.gitbook.io/binding-system-2/change-log).
