All the reasons for why a Unit dispatch might fail.
The third reason, if UnitConfig.customDispatchCheck returns a
The fourth reason, if UnitConfig.distinctDispatchCheck is not
false and the dispatched value is same as current value.
The first reason, if the Unit is frozen.
The second reason, if the dispatched value is invalid.