Apologies that this took some time to hear back on.
We cannot activate/deactivate the visibility related components in run time, so it’s technically working as designed.
In the engine, these components are all created by the legacy Cry VisArea. While
the VisArea itself can only be created at editor time and saved in the level, we don’t have any way to manipulate the VisArea during runtime. It turns out, it would also be very expensive when it comes to performance as well.
As an alternative, you could destroy the VisArea component with the component’s destructor instead of trying to Deactivate it.The reason why it’s like that is all
the editor components will call Deactivate function when switching from
editor time to runtime. If the VisArea is destroyed, there won’t be any effect in runtime.
So just to recap, once a VisArea is created in the level, it can only be “deactivated” by deleting/destroying the entity, and the effects of the VisArea cannot be altered during run time.
Let us know if that helps.