Alright, I've finally encountered a problem I can't even begin to figure out how to solve. I use Rewired to handle all my player input because the Unity input system becomes quickly cumbersome when it comes to supporting multiple platforms and controller types. Unfortunately, I have no idea how to make it so that the Cinemachine Free Look component uses Rewired instead of the base input system. I started poking around in the code to see if I could code around this, but quickly found myself lost as I began to navigate deeper and deeper into the various scripts. Eventually I found what I think I need to start changing, but I have no idea how as my scripting knowledge is woefully at a beginner-to-intermediate level, and the concepts at play are a bit beyond me. This is what I found in CinemachineCore.cs: Code (CSharp): /// <summary>Delegate for overriding Unity's default input system. Returns the value /// of the named axis.</summary> public delegate float AxisInputDelegate(string axisName); /// <summary>Delegate for overriding Unity's default input system. /// If you set this, then your delegate will be called instead of /// System.Input.GetAxis(axisName) whenever in-game user input is needed.</summary> public static AxisInputDelegate GetInputAxis = UnityEngine.Input.GetAxis; It looks like this is what I need to start changing, but I have no idea how. Any help would be greatly appreciated. edit: While I'm here, is there a guide to making custom camera behaviours? I'd really like a proper 360 camera orbit like in a 6 DOF third person game and the Free Look camera just isn't cutting the mustard for a few reasons. It'd be a great bonus if I could have it work with the camera collision system as well.