# updateCount

> This counter is incremented when the Texture is updated.

## Definition

* **Type:** Property
* **Namespace:** [UnityEngine](/engine/6000.0/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public uint updateCount { get; }
```

### Remarks

Note: If you perform an update from the GPU side, you should increment the counter yourself. (For instance, when blitting into a [RenderTexture](/engine/6000.0/script-reference/unityengine/rendertexture.md)). (see [Texture.IncrementUpdateCount()](/engine/6000.0/script-reference/unityengine/texture/incrementupdatecount.md)).

### Examples

```csharp
using UnityEngine;
using System.Collections.Generic;

public class MyTextureCache
{
    struct TextureCacheMeta
    {
        internal int index;
        internal uint updateCount;
    }

    Dictionary<Texture, TextureCacheMeta> m_TextureMetas = new Dictionary<Texture, TextureCacheMeta>();
    RenderTexture m_Cache;

    public Texture cache { get { return m_Cache; } }

    public int CacheTexture(Texture Texture)
    {
        var index = -1;
        TextureCacheMeta meta;
        if (m_TextureMetas.TryGetValue(Texture, out meta))
        {
            if (meta.updateCount != Texture.updateCount)
            {
                // Texture has changed since last caching
                // So blit again into the cache Texture
                BlitTextureAt(meta.index, Texture);
                meta.updateCount = Texture.updateCount;
                m_TextureMetas[Texture] = meta;
            }
        }
        else
        {
            index = GetNextIndex();
            if (index < 0)
            {
                Debug.LogError("Invalid index");
                return -1;
            }

            m_TextureMetas[Texture] = new TextureCacheMeta
            {
                index = index,
                updateCount = Texture.updateCount
            };
        }
        return index;
    }

    void BlitTextureAt(int index, Texture Texture) { /* copy pixels in cache */ }
    int GetNextIndex() { return -1; /* Get next index to use in the cache */ }
}
```
