# ComparableName

<figure><picture><source srcset="https://content.gitbook.com/content/sszhq0oU5VbBUcBr6f13/blobs/nsR5jYGxTtZ1EIFsWoep/d_ComparableName%20Icon.png" media="(prefers-color-scheme: dark)"><img src="https://content.gitbook.com/content/sszhq0oU5VbBUcBr6f13/blobs/AiQKlMBJEl4r05nHmNpN/ComparableName%20Icon.png" alt="" width="188"></picture><figcaption></figcaption></figure>

### Description

The [ComparableName](comparablename) scriptable object can be used in multiple ways. It can be used to remove effects, but is mainly used by non-stacking [StatusEffects](../classes/statuseffect) because duplicate effects are compared by the [ComparableName](comparablename) and not the [StatusEffectData](statuseffectdata). The reason for this is to allow different Status Effects to differentiate their values while still being considered same Status Effect.

For example, lets say you have a 'Weak Poison' and a 'Strong Poison', their [ComparableNames](comparablename) would both be 'Poison' since they are the same Status Effect but with different values. If they aren't stackable it will also be able to properly calculate the duration when [non-stacking behaviour](../statuseffectdata#non-stacking-behaviour) is set to match the highest value.

### Properties

<table data-full-width="true"><thead><tr><th width="250">Name</th><th width="250">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>Id</code></td><td><a href="https://docs.unity3d.com/ScriptReference/Hash128.html">Hash128</a></td><td>A unique <a href="https://docs.unity3d.com/ScriptReference/Hash128.html">Hash128</a> ID for quick comparisons and easy serialization with other supported packages.</td></tr></tbody></table>
