By the way, I have a small question. When the game is in a state where sound and motion are frozen, the buttons created by Action, except for checkboxes and similar types, do not work (the native VAM buttons can function in a frozen state). I'm curious if there is any particular reason for this design. Of course, this is not a major issue, and sometimes it can even prevent accidental operations during editing. I'm just curious.
It can be a bit awkward when there are specific actions that you want users to perform only when the game is paused. For example, loading presets through UI buttons. However, there are other ways to solve this.
The design philosophy behind that is :
- I think the global pause of VAM is a huge design flaw. You can allow a global pause system when you manage the whole execution pipeline through and through. The very core of VAM is based on custom scenes where the game itself has absolutely ZERO idea what a trigger can produce, it can enable a light, trigger animations, change states of plugins... and so on. You have absolutely no way of ensuring a proper execution of a trigger when in a paused in state.
- Due to the previous factor, and the fact that VAMS suite can cascade several triggers with delays and such... it's very complicated to not have a scene explode because a button/action/dialog was click with the global pause enabled
Hence, the block system. And I think I caught several cases where it wasn't handled and I need to fix that.
I think meshed should have completely frozen any potential interaction through the pause system. This for me, is eventually, only a feature that should allow to reposition yourself in VR, or adjust some game settings. But the fact that you have absolutely zero idea what a trigger can execute, anything during freeze should be prevented.
This is why VAM feels so "glitchy" to newcomers. Everyone with a bit of knowledge on VAM has something in their way of interacting with a scene or handle creation that avoids them to fall into the basic "traps" (physics explosions, animation glitch, character issues and so on) because they
know they should not do that or it's gonna glitch like 99% of the time.
From a certain perspective, it's kind of cool. For a developer/creator, it's a nightmare to ensure a proper smooth experience... half the support I have in some scenes is the usual "hey I did that and the scene was broken", and the answer is always "yeah, never do that in VAM, it's not gonna work".
So I design my plugin(s) to behave properly
as much as I can. (it's not a magic solution, but it works most of the time)... so if you're paused, then interaction is paused. Want to interact? Unpause your game, as simple as that... like any other game