# OptimizeTransformHierarchy(GameObject, string[])

> This function will remove all transform hierarchy under GameObject, the animator will write directly transform matrices into the skin mesh matrices saving many CPU cycles.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.3/script-reference/unityengine.md)
* **Assembly:** UnityEngine.AnimationModule

```csharp
public static void OptimizeTransformHierarchy(GameObject go, string[] exposedTransforms)
```

### Parameters

**** (\[GameObject]\(/engine/6000.3/script-reference/unityengine/gameobject)): GameObject to Optimize.**** (\[string\[]]\(https\://learn.microsoft.com/dotnet/api/system.string)): List of transform name to expose.

### Remarks

You can optionally provide a list of transform name, this function will create a flattened hierarchy of these transform under GameObject.

A call to this function at runtime will re-initialize the animator.

Additional Resources: [AnimatorUtility.OptimizeTransformHierarchy](/engine/6000.3/script-reference/unityengine/animatorutility/optimizetransformhierarchy.md),  [Animator.hasTransformHierarchy](/engine/6000.3/script-reference/unityengine/animator/hastransformhierarchy.md).
