Can't value of variables of scripts that are in an array

The value of the variable suspensionForce does change in this script, but not in the objects that are linked to this array. It’s working like a copy, but I don’t want it to happen.

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    public class ScrCarWheel : MonoBehaviour
    {
   
   
        [Header("Suspension")]
        public Suspension[] wheelSusp;
        public Vector3 forcaAntiRoll;
   
        void Start()
        {
        }
   
   
        void FixedUpdate()
        {
   
            float diferencaRoll = wheelSusp[0].springLength - wheelSusp[1].springLength;
            float diferencaRollRear = wheelSusp[2].springLength - wheelSusp[3].springLength;
   
            foreach (Suspension susp in wheelSusp)
            {
                if (susp.wheelFrontLeft)
                {        
                    wheelSusp[0].suspensionForce = wheelSusp[0].suspensionForce - diferencaRoll * wheelSusp[1].springStiffness * wheelSusp[0].vetorNormal * (float)1000000;
                }
                if (susp.wheelFrontRight)
                {
                    wheelSusp[1].suspensionForce = wheelSusp[1].suspensionForce + diferencaRoll * wheelSusp[0].springStiffness * wheelSusp[1].vetorNormal * (float)1000000;
                }
                if (susp.wheelRearLeft)
                {
                    wheelSusp[2].suspensionForce = wheelSusp[2].suspensionForce - diferencaRollRear * wheelSusp[3].springStiffness * wheelSusp[2].vetorNormal * (float)1000000;
                }
                if (susp.wheelFrontLeft)
                {
                    wheelSusp[3].suspensionForce = wheelSusp[3].suspensionForce + diferencaRollRear * wheelSusp[2].springStiffness * wheelSusp[3].vetorNormal * (float)1000000;
                }
            }
               
    }

I think you need to look at the code that consumes the suspensionForce value. This is just setting it to something, but it doesn’t seem like this is the script that actually uses the value. Perhaps the script that uses the value only reads it once and stores it locally, instead of continuous referring to it?

suspensionForce is also calculated in the Suspension script. Can the problem be one script overwriting the other?

Do you have two scripts setting the value of suspensionForce? Or do you have multiple copies of this script in the scene, all set to the same game objects?

Two different scripts setting the value of suspensionForce.

Then you probably shouldn’t do that. Why are two things settings the value of a single property? Can’t you just make sure the value is only being set once?