# IsVersionCached

> Checks if an AssetBundle is cached.

## Definition

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

## IsVersionCached(string, int)

Checks if an AssetBundle is cached.

> **Warning:**
>
> **Deprecated.** Please use IsVersionCached with Hash128 instead.

```csharp
public static bool IsVersionCached(string url, int version)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): **** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The version number of the AssetBundle to check for. Corresponds to the numeric version in some signatures of [UnityWebRequestAssetBundle.GetAssetBundle](/engine/6000.5/script-reference/unityengine/networking/unitywebrequestassetbundle/getassetbundle.md).

### Returns

| Type                                                          | Description                                                                                                                                                                                                                                                                                                                          |
| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | True if an AssetBundle matching the `url` and `version` parameters has previously been loaded using UnityWebRequestAssetBundle.GetAssetBundle() and is currently stored in the cache. Returns false if the AssetBundle is not in cache, either because it has been flushed from the cache or was never loaded using the Caching API. |

### Remarks

When using the default shared cache, the URL of the WebPlayer application bundle is automatically prepended to the `url` parameter; this prevents filename collisions with identically-named AssetBundles used by other developers' WebPlayer applications. WebPlayer applications that use a dedicated cache do not experience this behavior. This function can be utilized to enable AssetBundle preloading. First, call Caching.IsVersionCached() to see if the current version of an AssetBundle is already cached. If the AssetBundle is not cached, it can be preloaded in the background so that it is immediately available for loading into memory when requested.

## IsVersionCached(string, Hash128)

Checks if an AssetBundle is cached.

```csharp
public static bool IsVersionCached(string url, Hash128 hash)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): **** (\[Hash128]\(/engine/6000.5/script-reference/unityengine/hash128)): The version hash of the AssetBundle to check for. Corresponds to the version hash in some signatures of [UnityWebRequestAssetBundle.GetAssetBundle](/engine/6000.5/script-reference/unityengine/networking/unitywebrequestassetbundle/getassetbundle.md).

### Returns

| Type                                                          | Description                                                                                                                                                                                                                                                                                                                          |
| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | True if an AssetBundle matching the `url` and `version` parameters has previously been loaded using UnityWebRequestAssetBundle.GetAssetBundle() and is currently stored in the cache. Returns false if the AssetBundle is not in cache, either because it has been flushed from the cache or was never loaded using the Caching API. |

### Remarks

When using the default shared cache, the URL of the WebPlayer application bundle is automatically prepended to the `url` parameter; this prevents filename collisions with identically-named AssetBundles used by other developers' WebPlayer applications. WebPlayer applications that use a dedicated cache do not experience this behavior. This function can be utilized to enable AssetBundle preloading. First, call Caching.IsVersionCached() to see if the current version of an AssetBundle is already cached. If the AssetBundle is not cached, it can be preloaded in the background so that it is immediately available for loading into memory when requested.

## IsVersionCached(CachedAssetBundle)

Checks if an AssetBundle is cached.

```csharp
public static bool IsVersionCached(CachedAssetBundle cachedBundle)
```

### Parameters

**** (\[CachedAssetBundle]\(/engine/6000.5/script-reference/unityengine/cachedassetbundle)):&#x20;

### Returns

| Type                                                          | Description                                                                                                                                                                                                                                                                                                                          |
| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | True if an AssetBundle matching the `url` and `version` parameters has previously been loaded using UnityWebRequestAssetBundle.GetAssetBundle() and is currently stored in the cache. Returns false if the AssetBundle is not in cache, either because it has been flushed from the cache or was never loaded using the Caching API. |

### Remarks

When using the default shared cache, the URL of the WebPlayer application bundle is automatically prepended to the `url` parameter; this prevents filename collisions with identically-named AssetBundles used by other developers' WebPlayer applications. WebPlayer applications that use a dedicated cache do not experience this behavior. This function can be utilized to enable AssetBundle preloading. First, call Caching.IsVersionCached() to see if the current version of an AssetBundle is already cached. If the AssetBundle is not cached, it can be preloaded in the background so that it is immediately available for loading into memory when requested.
