> For the complete documentation index, see [llms.txt](https://roogame.gitbook.io/roogame/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://roogame.gitbook.io/roogame/roo-gameplay-framework/stats-system/stats-component.md).

# Stats Component

Roo Stats Component is the runtime owner for Stats, Attributes, modifiers, and Status Effects.

Add it to an Actor or Character Blueprint, then assign a Stats Set to Stat Value Config.

## Initialization

The component initializes during Begin Play. Public queries and mutations also call initialization on demand.

Configuration functions:

* Set Stat Value Config: replace the Stats Set and reinitialize.
* Reinitialize Stats: rebuild runtime state from the current configuration.

Reinitialization clears active runtime state. Do not use it as a general refresh button during gameplay unless resetting Stats, Attributes, modifiers, and Status Effects is intended.

## Stat queries

* Has Stat By Tag / By Name
* Get Stat Value By Tag / By Name
* Get Stat Base By Tag / By Name

Base is the stored input value. Value is the calculated result after Formula and modifiers.

## Stat mutations

* Set Stat Base By Tag / By Name
* Change Stat Base By Tag / By Name
* Add Modifier By Tag / By Name
* Remove Modifier
* Remove Modifier By Tag / By Name
* Remove Modifiers From Source
* Clear Stat Modifiers By Tag / By Name

Change Stat Base replaces the deprecated Add Stat Base naming.

## Attribute queries

* Has Attribute By Tag / By Name
* Get Attribute Value By Tag / By Name
* Get Attribute Min Value By Tag / By Name
* Get Attribute Max Value By Tag / By Name
* Get Attribute Ratio By Tag / By Name

## Attribute mutations

* Set Attribute Value By Tag / By Name
* Change Attribute Value By Tag / By Name

Attribute mutations are clamped to the configured minimum and current maximum.

## General value access

Get Value By Tag and Get Value By Name can resolve either a Stat or an Attribute. They return an integer by flooring the runtime value. Use the dedicated double-precision nodes when fractional values matter.

## Debugging

Get Stat Debug String By Tag reports the selected asset, base, formula, table, modifier count, and final value. Get All Stats Debug String produces a sorted summary of the component.

<figure><img src="/files/I6qYpKZreQPs6fxfcQjG" alt=""><figcaption></figcaption></figure>
