# UnsafeAtomicCounter32

> A 32-bit atomic counter.

## Definition

* **Type:** Struct
* **Namespace:** [Unity.Collections.LowLevel.Unsafe](/engine/6000.7/script-reference/unity/collections/lowlevel/unsafe.md)
* **Assembly:** UnityEngine.ManagedKernelModule

```csharp
public struct UnsafeAtomicCounter32
```

## Remarks

Rather than have its own int, a counter "points" to an int. This arrangement lets counters in different jobs share reference to the same underlying int.

## Fields

| Value                                                                                                         | Description                               |
| ------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
| [Counter](/engine/6000.7/script-reference/unity/collections/lowlevel/unsafe/unsafeatomiccounter32/counter.md) | The int that is modified by this counter. |

## Constructors

| Constructor                                                                                                                             | Description                                                   |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| [UnsafeAtomicCounter32(System.Void\*)](/engine/6000.7/script-reference/unity/collections/lowlevel/unsafe/unsafeatomiccounter32/ctor.md) | Initializes and returns an instance of UnsafeAtomicCounter32. |

## Methods

| Method                                                                                                      | Description                                                                                       |
| ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| [Add](/engine/6000.7/script-reference/unity/collections/lowlevel/unsafe/unsafeatomiccounter32/add.md)       | Atomically adds a value to this counter.                                                          |
| [AddSat](/engine/6000.7/script-reference/unity/collections/lowlevel/unsafe/unsafeatomiccounter32/addsat.md) | Atomically adds a value to this counter. The result will not be greater than a maximum value.     |
| [Reset](/engine/6000.7/script-reference/unity/collections/lowlevel/unsafe/unsafeatomiccounter32/reset.md)   | Non-atomically sets this counter to a value.                                                      |
| [Sub](/engine/6000.7/script-reference/unity/collections/lowlevel/unsafe/unsafeatomiccounter32/sub.md)       | Atomically subtracts a value from this counter.                                                   |
| [SubSat](/engine/6000.7/script-reference/unity/collections/lowlevel/unsafe/unsafeatomiccounter32/subsat.md) | Atomically subtracts a value from this counter. The result will not be less than a minimum value. |
