private void DrawControls()
        {
            EditorGUI.BeginChangeCheck();
            EditorGUILayout.PropertyField(m_AnimatorProperty, m_AnimatorLabel);
            if (EditorGUI.EndChangeCheck())
            {
                m_Target.ResetTrackedParams();
            }

            var animator = m_Target.Animator;

            if (animator == null)
            {
                return;
            }

            var animatorController = animator.runtimeAnimatorController as AnimatorController;

            if (animatorController == null)
            {
                return;
            }

            EditorGUI.indentLevel += 1;
            var showWarning = false;

            {
                int paramIndex = 0;
                foreach (var animParam in animatorController.parameters)
                {
                    if (paramIndex >= 32)
                    {
                        showWarning = true;
                        break;
                    }

                    bool wasTracking = m_Target.GetParamTracking(paramIndex);
                    bool isTracking  = EditorGUILayout.Toggle(animParam.name, wasTracking);
                    if (isTracking != wasTracking)
                    {
                        m_Target.SetParamTracking(paramIndex, isTracking);
                        EditorUtility.SetDirty(target);
                    }

                    paramIndex++;
                }
            }
            if (showWarning)
            {
                EditorGUILayout.HelpBox("NetworkAnimator can only select between the first 32 parameters in a mecanim controller", MessageType.Warning);
            }

            EditorGUI.indentLevel -= 1;
        }