# LazyLoadReference

> Construct a new LazyLoadReference.

## Definition

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

## LazyLoadReference(T)

Construct a new LazyLoadReference.

```csharp
public LazyLoadReference(T asset)
```

### Parameters

**** (T): The asset reference.

### Remarks

Note that the signature which takes an asset reference may trigger loading the referenced object into memory if the object is not already loaded. The signature which takes an EntityId will never trigger a load.

## LazyLoadReference(EntityId)

Construct a new LazyLoadReference.

```csharp
public LazyLoadReference(EntityId entityId)
```

### Parameters

**** (\[EntityId]\(/engine/6000.5/script-reference/unityengine/entityid)): The asset EntityId.

### Remarks

Note that the signature which takes an asset reference may trigger loading the referenced object into memory if the object is not already loaded. The signature which takes an EntityId will never trigger a load.

## LazyLoadReference(int)

Construct a new LazyLoadReference.

> **Warning:**
>
> **Removed.** Use LazyLoadReference(EntityId entityId) instead, this will be removed in a future version

```csharp
public LazyLoadReference(int instanceID)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The asset instance id.

### Remarks

Note that the signature which takes an asset reference may trigger loading the referenced object into memory if the object is not already loaded. The signature which takes an instance id will never trigger a load.
