Cinemachine VCamera ignores Transposer damp when updating camera confiner 2D

I’m working on this zelda-like and I want to be able to discover new areas when a trigger is entered.
I created a component that takes the current virtual camera and updates its CinemachineConfiner2D when the player enters a trigger.
The problem is that when the confiner is updated the camera skips instantly to the player position instead of doing it smoothly following the transposer settings.
Here’s a video that showcases the camera skip:

bandicam2025-12-1214-21-00-833-ezgif.com-video-to-webp-converter

And here’s my component code:

using UnityEngine;
using Cinemachine;

public class PHVCamConfinerChanger : MonoBehaviour
{
    [SerializeField] private PolygonCollider2D newConfiner;
    [SerializeField] private CinemachineConfiner2D confinerComponent;


    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.CompareTag("PlayerPositionDetector"))
        {
            Debug.Log("Entered trigger, changing confiner.");
            //confinerComponent.InvalidateCache();
            confinerComponent.m_BoundingShape2D = newConfiner;
            GetComponent<Collider2D>().enabled = false;
        }
        
    }
}

How can I make the virtual camera move smoothly to its new valid position after the confiner update instead of skipping?

Thanks.

You can’t do it easily using a single CinemachineCamera. The system is not designed to support smooth transitions when you arbitrarily change camera settings.

The standard way to achieve such things with Cinemachine is to use multiple CinemachineCameras, one for each confined area, each set up appropriately for the region. When you enter the trigger, activate (or prioritize) the new CinemachineCamera and let the CM brain do the blend. That’s what it’s for.

Yeah, that was exactly my first implementation. The problem with it is that if the original confiner never changes, you always get this “camera change transition” when exiting the newly discovered zone and the sensation of an invisible wall persists, as you can see in this video.

bandicam 2025-12-15 09-09-42-670_processed_by_imagy

I’ll add this statement

to the pile of arguments that constantly remind me that Cinemachine was developed to be used as a cutscene tool and never as a gameplay camera system, which means that Unity is still lacking a strong, versatile, easy to use, native gameplay camera system.

Sorry for the rant, I really don’t mean to be rude, but I have the feeling of always hitting a wall when trying to implement very common 2D features like this “camera that can unlock new places in the map” one.

Anyway, have you got any suggestions on how to implement a camera with an expanding confiner to create an expanding map as you discover new areas? I know I said expanding confiner and you made very clear that the confiner is not to be messed with, but I think it expresses well what my goal is here.

Thanks in advance @Gregoryl!

It’s a little hard to follow what’s going in in your example, but it looks as though confiner A doesn’t overlap with confiner B, so the camera has to move during the transition. If confiner B were a larger version of confiner A (i.e. region B includes region A) then the camera would not need to move and you would not notice any transition at all.

Yes, I’m aware of the total confiner overlap solution. Alas, that’s not possible in this case and many other cases in the game due to map expansion restrictions and multiple camera triggers.

That’s why I asked for a more “expansion based” approach. I suppose such an approach would always collide with Cinemachine’s internal logic. Thanks @Gregoryl.

It seems to me that “expansion” implies total overlap - otherwise it’s not expansion, it’s wholescale change. And if you change the constraints in such a way that the camera is forced to move in order to satisfy them, then it will move, Cinemachine or not.