I've noticed that while a test game is running, the box on the Animator component for 'Apply Root Motion' (default unchecked) switches to simply say, "Handled by Script," and that two scripts automatically appear on my game objects.
-The first script is, "RPGCharacterAnimatorEvents.cs", which reads as follows:
using System.Collections;
using UnityEngine;
namespace RPGCharacterAnims
{
//Placeholder functions for Animation events.
public class RPGCharacterAnimatorEvents:MonoBehaviour
{
[HideInInspector] public RPGCharacterController rpgCharacterController;
public void Hit()
{
}
public void Shoot()
{
}
public void FootR()
{
}
public void FootL()
{
}
public void Land()
{
}
public void WeaponSwitch()
{
if(rpgCharacterController.rpgCharacterWeaponController != null)
{
rpgCharacterController.rpgCharacterWeaponController.WeaponSwitch();
}
}
}
}
-And the second script I find attached is, "AnimatorParentMove.cs", which reads as follows:
using UnityEngine;
namespace RPGCharacterAnims
{
public class AnimatorParentMove:MonoBehaviour
{
[HideInInspector] public Animator anim;
[HideInInspector] public RPGCharacterMovementController rpgCharacterMovementController;
void OnAnimatorMove()
{
if(!rpgCharacterMovementController.canMove)
{
transform.parent.rotation = anim.rootRotation;
transform.parent.position += anim.deltaPosition;
}
}
}
}
I'm not using any of the otherwise included components such as the 'RPGCharacterController', or, 'RPGCharacterInputController'. Even manually manipulating the parameters inside the animator itself fails to show any reaction, so I'm wondering if the actual animator itself could incorporate a set of embedded scripts.