# SetDefaultReferences(string[], Object[])

> Sets default references for this MonoScript.

## Definition

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

```csharp
public void SetDefaultReferences(string[] name, Object[] target)
```

### Parameters

**** (\[string\[]]\(https\://learn.microsoft.com/dotnet/api/system.string)): An array of names of public fields in the imported [MonoScript](/engine/6000.5/script-reference/unityeditor/monoscript.md). The type of each field must be derived from [Object](/engine/6000.5/script-reference/unityengine/object.md).**** (\[Object\[]]\(/engine/6000.5/script-reference/unityengine/object)): An array of objects to use as default values. The size of the array must match the size of the names array. The array can include null values.

### Remarks

When the Unity Editor instantiates this [MonoScript](/engine/6000.5/script-reference/unityeditor/monoscript.md), it uses the default values to populate the named fields. Additional Resources: [MonoImporter.GetDefaultReference](/engine/6000.5/script-reference/unityeditor/monoimporter/getdefaultreference.md).

### Examples

```csharp
using UnityEngine;
using UnityEditor;

class Example
{
    [MenuItem("Examples/Set Default References")]
    public static void SetDefaultReferences()
    {
        var assetPath = "Assets/MyMonoBehaviour.cs";
        var monoImporter = AssetImporter.GetAtPath(assetPath) as MonoImporter;

        var gameObject = AssetDatabase.LoadAssetAtPath<GameObject>(AssetDatabase.GUIDToAssetPath(AssetDatabase.FindAssets("Cube")[0]));
        var material = AssetDatabase.LoadAssetAtPath<Material>(AssetDatabase.GUIDToAssetPath(AssetDatabase.FindAssets("defaultMat")[0]));

        var names = new string[] {"MyGameObject", "MyMaterial"};
        var values = new Object[] {gameObject, material};
        monoImporter.SetDefaultReferences(names, values);
        monoImporter.SaveAndReimport();
    }
}
```
