Weapon sway moves faster when using vsync

Hello, can someone help me how can i make weapon sway to be fps independent… cuz when i turn on vsync it moves faster despite i used deltaTime or fixed update…

    public float swaySmoothness = 6f; 
    private Vector3 initialPosition;
    void Start(){
        initialPosition = transform.localPosition;
    }
    void Update(){
        float movementX = -Input.GetAxis("Mouse X") * swayAmount;
        float movementY = -Input.GetAxis("Mouse Y") * swayAmount;
        movementX = Mathf.Clamp(movementX, -maxSwayAmount, maxSwayAmount);
        movementY = Mathf.Clamp(movementY, -maxSwayAmount, maxSwayAmount);
        Vector3 finalPosition = new Vector3(movementX, movementY, 0);
        transform.localPosition = Vector3.Lerp(transform.localPosition, initialPosition + finalPosition, swaySmoothness * Time.deltaTime);
    }```

Thanks in advance for any help
(I reposted this cuz I posted it in the wrong section before)

With vsync enabled it will move slightly faster (hundredths of a second) but it shouldn’t be noticeable unless you’re going from a million fps to 60 fps. And this applies to most non linear movement carried out in Update. This is why modern games have a physics engine and a FixedUpdate to help keep movement consistent.

I suspect something else is happening. Is your weapon a rigidbody?. If so, you can either remove the rigidbody or you can enable kinematic on the rigidbody and move it with MovePosition from within FixedUpdate.