> For the complete documentation index, see [llms.txt](https://maraudical.gitbook.io/status-effects-framework/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://maraudical.gitbook.io/status-effects-framework/type-specifics/classes/statusmanager/addstatuseffect.md).

# AddStatusEffect

### Declaration

{% code overflow="wrap" fullWidth="true" %}

```csharp
public StatusEffect AddStatusEffect(StatusEffectData statusEffectData, int? stack = null)
```

{% endcode %}

### Parameters

<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>statusEffectData</code></td><td><a href="/pages/FzvWc4ygR9G3YZgoRwuJ">StatusEffectData</a></td><td>The data that the new <a href="/pages/OpUFQnv9JKaTU0cxnlHw">StatusEffect</a> should use.</td></tr><tr><td><code>stack</code></td><td>int?</td><td>Optional int count of the stacks to apply.</td></tr></tbody></table>

### Returns

[**StatusEffect**](/status-effects-framework/type-specifics/classes/statuseffect.md) Returns the StatusEffect reference that was added to the [StatusManager](/status-effects-framework/type-specifics/classes/statusmanager.md).

### Description

Adds a new [StatusEffect](/status-effects-framework/type-specifics/classes/statuseffect.md) to the [StatusManager](/status-effects-framework/type-specifics/classes/statusmanager.md).

***

### Declaration

{% code overflow="wrap" fullWidth="true" %}

```csharp
public StatusEffect AddStatusEffect(StatusEffectData statusEffectData, float duration, int? stack = null)
```

{% endcode %}

### Parameters

<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>statusEffectData</code></td><td><a href="/pages/FzvWc4ygR9G3YZgoRwuJ">StatusEffectData</a></td><td>The data that the new <a href="/pages/OpUFQnv9JKaTU0cxnlHw">StatusEffect</a> should use.</td></tr><tr><td><code>duration</code></td><td>float</td><td>How long in seconds the effect should last.</td></tr><tr><td><code>stack</code></td><td>int?</td><td>Optional int count of the stacks to apply.</td></tr></tbody></table>

### Returns

[**StatusEffect**](/status-effects-framework/type-specifics/classes/statuseffect.md) Returns the StatusEffect reference that was added to the [StatusManager](/status-effects-framework/type-specifics/classes/statusmanager.md).

### Description

Adds a new [StatusEffect](/status-effects-framework/type-specifics/classes/statuseffect.md) to the [StatusManager](/status-effects-framework/type-specifics/classes/statusmanager.md) for a duration of time.

***

### Declaration

{% code overflow="wrap" fullWidth="true" %}

```csharp
public static StatusEffect AddStatusEffect(StatusEffectData statusEffectData, float duration, UnityEvent unityEvent, int? stack = null)
```

{% endcode %}

### Parameters

<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>statusEffectData</code></td><td><a href="/pages/FzvWc4ygR9G3YZgoRwuJ">StatusEffectData</a></td><td>The data that the new <a href="/pages/OpUFQnv9JKaTU0cxnlHw">StatusEffect</a> should use.</td></tr><tr><td><code>duration</code></td><td>float</td><td>How long in seconds the effect should last.</td></tr><tr><td><code>unityEvent</code></td><td><a href="https://docs.unity3d.com/ScriptReference/Events.UnityEvent.html">UnityEvent</a></td><td>The <a href="https://docs.unity3d.com/ScriptReference/Events.UnityEvent.html">UnityEvent</a> to subscribe the duration decrement to.</td></tr><tr><td><code>stack</code></td><td>int?</td><td>Optional int count of the stacks to apply.</td></tr></tbody></table>

### Returns

[**StatusEffect**](/status-effects-framework/type-specifics/classes/statuseffect.md) Returns the StatusEffect reference that was added to the [StatusManager](/status-effects-framework/type-specifics/classes/statusmanager.md).

### Description

Adds a new [StatusEffect](/status-effects-framework/type-specifics/classes/statuseffect.md) to the [StatusManager](/status-effects-framework/type-specifics/classes/statusmanager.md) for a duration that decrements when the referenced [UnityEvent](https://docs.unity3d.com/ScriptReference/Events.UnityEvent.html) is invoked.

***

### Declaration

{% code overflow="wrap" fullWidth="true" %}

```csharp
public static StatusEffect AddStatusEffect(StatusEffectData statusEffectData, Func<bool> predicate, int? stack = null)
```

{% endcode %}

### Parameters

<table data-full-width="true"><thead><tr><th width="224">Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>statusEffectData</code></td><td><a href="/pages/FzvWc4ygR9G3YZgoRwuJ">StatusEffectData</a></td><td>The data that the new <a href="/pages/OpUFQnv9JKaTU0cxnlHw">StatusEffect</a> should use.</td></tr><tr><td><code>predicate</code></td><td><a href="https://learn.microsoft.com/en-us/dotnet/api/system.func-1?view=net-7.0">Func</a>&#x3C;bool></td><td>When true the effect will end.</td></tr><tr><td><code>stack</code></td><td>int?</td><td>Optional int count of the stacks to apply.</td></tr></tbody></table>

### Returns

[**StatusEffect**](/status-effects-framework/type-specifics/classes/statuseffect.md) Returns the StatusEffect reference that was added to the [StatusManager](/status-effects-framework/type-specifics/classes/statusmanager.md).

### Description

Adds a new [StatusEffect](/status-effects-framework/type-specifics/classes/statuseffect.md) to the [StatusManager](/status-effects-framework/type-specifics/classes/statusmanager.md) that will be removed when the predicate is true.
