> 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.ksscriptassetreference-1.md).

# Struct ksScriptAssetReference\<T>

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

A reference to a [ksScriptAsset](/reactor/api-reference/ks.reactor/ks.reactor.ksscriptasset.md) that Unity can serialize. References a [ksProxyScriptAsset](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksproxyscriptasset.md) which is used to load a [ksScriptAsset](/reactor/api-reference/ks.reactor/ks.reactor.ksscriptasset.md) of type `T`.

```csharp
[Serializable]
public struct ksScriptAssetReference<T> where T : ksScriptAsset
```

#### Type Parameters

`T`

Type of [ksScriptAsset](/reactor/api-reference/ks.reactor/ks.reactor.ksscriptasset.md) to reference.

#### Inherited Members

[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.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

## Properties

### Proxy <a href="#ks_reactor_client_unity_ksscriptassetreference_1_proxy" id="ks_reactor_client_unity_ksscriptassetreference_1_proxy"></a>

The proxy Unity asset used to load the script asset.

```csharp
public ksProxyScriptAsset Proxy { get; }
```

#### Property Value

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

## Methods

### Get() <a href="#ks_reactor_client_unity_ksscriptassetreference_1_get" id="ks_reactor_client_unity_ksscriptassetreference_1_get"></a>

Gets the referenced asset. Loads it if it hasn't already been loaded.

```csharp
public T Get()
```

#### Returns

T

The referenced asset.

## Operators

### implicit operator T(ksScriptAssetReference\<T>) <a href="#ks_reactor_client_unity_ksscriptassetreference_1_op_implicit_ks_reactor_client_unity_ksscriptassetre" id="ks_reactor_client_unity_ksscriptassetreference_1_op_implicit_ks_reactor_client_unity_ksscriptassetre"></a>

Implicit conversion to `T`. Loads the asset if it hasn't already been loaded.

```csharp
public static implicit operator T(ksScriptAssetReference<T> reference)
```

#### Parameters

`reference` [ksScriptAssetReference](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksscriptassetreference-1.md)\<T>

Reference to convert.

#### Returns

T
