My solution for input controllers

I added in a quick print statement that gives which mode is being activated. Removes confusion of which method is on at any given moment. each works fine.

`private void FixedUpdate()
{
    if (Input.GetKeyDown(KeyCode.G)) // G for Gamepad
    {
        isInDirectMode = !isInDirectMode;  // toggle mode
        if (!isInDirectMode) { print("Keyboard activated"); }
        else { print("Mouse Activated"); }
    }
    if (isInDirectMode)
    {
        ProcessDirectMovement();
    }
    else
    {
        ProcessMouseMovement();
    }
}

private void ProcessDirectMovement()
{
    // read inputs
    float h = Input.GetAxis("Horizontal");
    float v = Input.GetAxis("Vertical");

    // calculate camera relative direction to move:
    Vector3 m_CamForward = Vector3.Scale(Camera.main.transform.forward, new Vector3(1, 0, 1)).normalized;
    Vector3 m_Move = v * m_CamForward + h * Camera.main.transform.right;

    m_Character.Move(m_Move, false, false);
}`

Privacy & Terms