Другой вариант - использовать конструктор, например:
public class EnemyCombatController : MonoBehaviour
{
public PlayerCombatSystem constructorPlayerCombatSystem ;
//your code
//...
//Damage has changed in the other script (PlayerCombatSystem)
float gotDamage = shotterDamage * (100 / (100 + enemy.constructorPlayerCombatSystem.Damage);
}
Создание конструктора другого класса используется, когда вы хотите использовать переменную в обоих классах
Я не очень хорошо понял работу вашего кода, но, немного упрощая, я делаю вывод, что игра выполняется в другом или других сценариях, и при обнаружении удара (или попадании) переменная Damage изменяется.
Предполагая, что эта переменная находится в сценарии, который есть у игрока, вы хотите использовать ее в сценарии, в котором есть враг (или наоборот) (или что переменная находится в другом сценарии, и вы хотите использовать ее в два других), вы можете создать переменную типа другого класса и использовать ее в этом классе.
помните, что вы должны ссылаться на объект, который содержит класс в инспекторе
Надеюсь, это поможет вам, или скажите, понял ли я что-то не так в вашей проблеме