I have asked something similar a week ago but recently I had some time to dedicate to this problem and I discovered a couple of things that can be useful.
The issue is that the show volume command currently doesn’t make volumes visible (while show collision still works).
I have tried to force visibility for volumes by setting up the volume class with this code (in the constructor and then I also tried in the PostLoad function):
bHidden = false;
bHiddenEd = false;
bHiddenEdLayer = false;
bHiddenEdLevel = false;
SetActorHiddenInGame(false);
MarkComponentsRenderStateDirty();
BrushComponent->SetVisibility(true, true);
BrushComponent->bVisible = true;
BrushComponent->SetHiddenInGame(false, true);
BrushComponent->bHiddenInGame = false;
BrushComponent->MarkRenderStateDirty();
After making this change I have set up an exec function that using an iterator over the volumes print some information about them and I have discovered that LastRenderTime is set as if the volumes were rendered (don’t know how important this can be). The ShouldRender() function on the BrushComponent returns true and while debugging it seems that values are correctly set up for the volumes to be visible.
The HandleShowCommand itself shouldn’t be a problem, there is probably something somewhere else that is creating the problem. I havn’t found anything related to this in the log.
Do you have an idea what can cause this?