# CreateComponent<T>()

> Creates a new instance of a given scriptable object and adds it as a sub-asset to the build profile. Only one instance per type can be embedded within a build profile.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor.Build.Profile](/engine/6000.6/script-reference/unityeditor/build/profile.md)
* **Assembly:** UnityEditor.CoreModule

```csharp
public T CreateComponent<T>() where T : Object
```

### Returns

| Type | Description                                                                                              |
| ---- | -------------------------------------------------------------------------------------------------------- |
| T    | [ScriptableObject](/engine/6000.6/script-reference/unityengine/scriptableobject.md) type to instantiate. |

### Remarks

**Note**: This function is restricted to [ScriptableObject](/engine/6000.6/script-reference/unityengine/scriptableobject.md) types and cannot be used for all settings visible in the **Build Profiles** window. To create built-in settings such as [PlayerSettings](/engine/6000.6/script-reference/unityeditor/playersettings.md), [GraphicsSettings](/engine/6000.6/script-reference/unityengine/rendering/graphicssettings.md), and [QualitySettings](/engine/6000.6/script-reference/unityengine/qualitysettings.md), use the **Build Profiles** window.
