Custom character controller

When using your own character controller you're required to implement the IInventoryPlayerController interface. The IPlayerInputCallbacks (in the namespace Devdog.General) is used to enable / disable the controller when the UI requests it.

Example code

public partial class InventoryUFPSInputController : MonoBehaviour, IPlayerInputCallbacks
{
    public bool isEnabled = true;

    private void Update()
    {
        if(isEnabled)
        {
            // Do your controller code.
        }
    }

    public virtual void SetInputActive(bool val)
    {
        // Enable / disable your controller.
        isEnabled = val;
    }
}