> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/reactor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksassetloader.md).

# Class ksAssetLoader

Namespace: [KS.Reactor.Client.Unity](/reactor/api-reference/ks.reactor.client.unity.md)\
Assembly: KSUnity-Source.dll

Asset loader that loads [ksScriptAsset](/reactor/api-reference/ks.reactor/ks.reactor.ksscriptasset.md)s from [ksProxyScriptAsset](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksproxyscriptasset.md)s.

```csharp
public class ksAssetLoader : ksBaseAssetLoader
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) â† [ksBaseAssetLoader](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md) â† [ksAssetLoader](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksassetloader.md)

#### Inherited Members

[ksBaseAssetLoader.m\_cache](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md#KS_Reactor_ksBaseAssetLoader_m_cache), [ksBaseAssetLoader.m\_paths](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md#KS_Reactor_ksBaseAssetLoader_m_paths), [ksBaseAssetLoader.m\_pathToIdMap](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md#KS_Reactor_ksBaseAssetLoader_m_pathToIdMap), [ksBaseAssetLoader.m\_nameToIdMap](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md#KS_Reactor_ksBaseAssetLoader_m_nameToIdMap), [ksBaseAssetLoader.Load\<T>(uint, bool)](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md#KS_Reactor_ksBaseAssetLoader_Load__1_System_UInt32_System_Boolean_), [ksBaseAssetLoader.Get\<T>(uint, bool)](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md#KS_Reactor_ksBaseAssetLoader_Get__1_System_UInt32_System_Boolean_), [ksBaseAssetLoader.Get\<T>(string)](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md#KS_Reactor_ksBaseAssetLoader_Get__1_System_String_), [ksBaseAssetLoader.CreateInstance\<T>(uint, bool)](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md#KS_Reactor_ksBaseAssetLoader_CreateInstance__1_System_UInt32_System_Boolean_), [ksBaseAssetLoader.CreateInstance\<T>(string)](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md#KS_Reactor_ksBaseAssetLoader_CreateInstance__1_System_String_), [ksBaseAssetLoader.Unload(ksScriptAsset)](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md#KS_Reactor_ksBaseAssetLoader_Unload_KS_Reactor_ksScriptAsset_), [ksBaseAssetLoader.GetId(string, bool)](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md#KS_Reactor_ksBaseAssetLoader_GetId_System_String_System_Boolean_), [ksBaseAssetLoader.GetPath(uint)](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md#KS_Reactor_ksBaseAssetLoader_GetPath_System_UInt32_), [ksBaseAssetLoader.MapNameToId(string, uint)](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md#KS_Reactor_ksBaseAssetLoader_MapNameToId_System_String_System_UInt32_), [ksBaseAssetLoader.GetCached(uint)](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md#KS_Reactor_ksBaseAssetLoader_GetCached_System_UInt32_), [ksBaseAssetLoader.CacheAsset(uint, ksScriptAsset)](/reactor/api-reference/ks.reactor/ks.reactor.ksbaseassetloader.md#KS_Reactor_ksBaseAssetLoader_CacheAsset_System_UInt32_KS_Reactor_ksScriptAsset_), [object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object\)), [object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object-system-object\)), [object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode), [object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype), [object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone), [object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

## Methods

### FromProxy\<T>(ksProxyScriptAsset, bool) <a href="#ks_reactor_client_unity_ksassetloader_fromproxy__1_ks_reactor_client_unity_ksproxyscriptasset_system" id="ks_reactor_client_unity_ksassetloader_fromproxy__1_ks_reactor_client_unity_ksproxyscriptasset_system"></a>

Loads an asset from a [ksProxyScriptAsset](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksproxyscriptasset.md). Returns the cached asset if it's already loaded.

```csharp
public T FromProxy<T>(ksProxyScriptAsset proxy, bool silent = false) where T : ksScriptAsset
```

#### Parameters

`proxy` [ksProxyScriptAsset](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksproxyscriptasset.md)

Proxy asset to load from.

`silent` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

If true, don't log warnings if the asset is the wrong type.

#### Returns

T

The loaded asset, or null if the asset could not be loaded or was the wrong type.

#### Type Parameters

`T`

Type of asset to load. If the `proxy` is not for this type, the asset will not be loaded.

### Load\<T>(uint, bool) <a href="#ks_reactor_client_unity_ksassetloader_load__1_system_uint32_system_boolean" id="ks_reactor_client_unity_ksassetloader_load__1_system_uint32_system_boolean"></a>

Loads an asset.

```csharp
protected override T Load<T>(uint assetId, bool silent) where T : ksScriptAsset
```

#### Parameters

`assetId` [uint](https://learn.microsoft.com/dotnet/api/system.uint32)

Id of the asset to load.

`silent` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

If true, don't log warnings if the asset isn't found or is the wrong type.

#### Returns

T

The loaded asset, or null if the asset could not be loaded or was the wrong type.

#### Type Parameters

`T`

Type of asset to load. The asset will not be loaded if it is not of this type.

### LoadProxy(string, bool) <a href="#ks_reactor_client_unity_ksassetloader_loadproxy_system_string_system_boolean" id="ks_reactor_client_unity_ksassetloader_loadproxy_system_string_system_boolean"></a>

Loads a [ksProxyScriptAsset](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksproxyscriptasset.md) from Resources or an asset bundle.

```csharp
public ksProxyScriptAsset LoadProxy(string path, bool silent = false)
```

#### Parameters

`path` [string](https://learn.microsoft.com/dotnet/api/system.string)

Asset path to load from. If loading from Resources, must contain 'Resources/' in the path. If loading from an asset bundle the path should be '\[asset bundle name]:\[asset name]'.

`silent` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

If true, don't log warnings if the asset isn't found.

#### Returns

[ksProxyScriptAsset](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksproxyscriptasset.md)

Proxy script asset, or null if it could not be loaded.
