private void Awake()
        {
            components   = GetComponent <SharedCameraComponents>();
            debugDrawing = GetComponent <DebugDrawing>();

            camParams = components.cameraParams;
        }
        private void Awake()
        {
            cam                = GetComponent <Camera>();
            stateController    = GetComponent <CameraStateController>();
            components         = GetComponent <SharedCameraComponents>();
            debugDrawing       = GetComponent <DebugDrawing>();
            occlusionAvoidance = GetComponent <OcclusionAvoidance>();
            locomotion         = GetComponent <CommonLocomotionFunctions>();

            followTarget = components.followTarget;
            camParams    = components.cameraParams;
        }
        private void Start()
        {
            cam             = GetComponent <Camera>();
            input           = GetComponent <CameraControllerInput>();
            stateController = GetComponent <CameraStateController>();
            components      = GetComponent <SharedCameraComponents>();
            UpdateConvenienceComponentVars();
            UpdateTrackers(Time.deltaTime);

#if TPC_CAMERA_MOVEMENT_DEBUG
            debugInfo = GetComponent <DebugDrawing>();
#endif
        }