# ClearOtherCachedVersions(string, Hash128)

> Removes all the cached versions of the AssetBundle from the cache, except for the specified version.

## Definition

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

```csharp
public static bool ClearOtherCachedVersions(string assetBundleName, Hash128 hash)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The AssetBundle name.**** (\[Hash128]\(/engine/6000.6/script-reference/unityengine/hash128)): Version needs to be kept.

### Returns

| Type                                                          | Description                                 |
| ------------------------------------------------------------- | ------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | Returns true when cache clearing succeeded. |

### Remarks

Returns false if any cached bundle is in use.

### Examples

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    void ClearOtherCachedVersionsExample(AssetBundle bundleToSave, string manifestBundlePath)
    {
        AssetBundle manifestBundle = AssetBundle.LoadFromFile(manifestBundlePath);
        AssetBundleManifest manifest = manifestBundle.LoadAsset<AssetBundleManifest>("AssetBundleManifest");

        //This will clear all the cached version of this asset bundle except for this specific cached version
        bool success = Caching.ClearOtherCachedVersions(bundleToSave.name, manifest.GetAssetBundleHash(bundleToSave.name));

        if (!success)
        {
            Debug.Log("Unable to clear the caches");
        }

        //Unload the AssetBundle
        manifestBundle.Unload(true);
    }
}
```
