# SetParentAndAlign(GameObject, GameObject)

> Sets the parent and gives the child the same layer and position.

## Definition

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

```csharp
public static void SetParentAndAlign(GameObject child, GameObject parent)
```

### Parameters

**** (\[GameObject]\(/engine/6000.0/script-reference/unityengine/gameobject)): The GameObject that should have a new parent set.**** (\[GameObject]\(/engine/6000.0/script-reference/unityengine/gameobject)): The GameObject that the child should get as a parent and have position and layer copied from. If null, this function does nothing.

### Remarks

This is intended as a utility function when creating custom GameObjects with a [MenuItem](/engine/6000.0/script-reference/unityeditor/menuitem.md) in the "GameObject/" menu. When using the context click menu to create new GameObjects in the Scene hierarchy, the newly created GameObjects should be parented to the clicked GameObject, which is passed in as [MenuCommand.context](/engine/6000.0/script-reference/unityeditor/menucommand/context.md). Calling this method ensures this behavior in the case of a context click while doing nothing if the context is null (see example on the [MenuItem](/engine/6000.0/script-reference/unityeditor/menuitem.md) docs).
