My application has to use the new virtual camera because it handles Gameobjects better, I know that it’s not generally for public use.
When calling AddCinemachineComponent<> I was getting inconsistent behavior where sometimes the component would be correctly added, and other times the component would be immediately destroyed. After looking into it, it appears that the lines (CinemachineNewVirtualCamera:400)
T c = gameObject.AddComponent<T>();
var components = ComponentCache;
Should instead be:
var components = ComponentCache;
T c = gameObject.AddComponent<T>();
As the previous usage was considering the newly added component to be stale and in need of removal.
This is my first time working with Cinemachine, so there may be something else that I was doing wrong, I just thought that this may be helpful.