Unity doesn't change enum value fast enough.,

The script, i was writing had to change a value(getting it from enum), when it detects object collision with special type of obstacle. And, if it tries to change state value fast(like 2 times in 3 seconds), it just refuses to do it. It’s clear, that Unity detects collision(Console message), but the value actually changes only through 3 seconds from collision. Is there something, I can do with this situation(it’s essential to change it this fast)!

Thats because Update is way to slow for the phisycs calculations, you must execute that code on the FixedUpdate method. Take a look at this part of the documentation for more information about FixedUpdate MonoBehaviour.FixedUpdate()