Visionaire Studio
actually already has an hotspot feature built in; it's called a snoop animation, in vs for some reason.
You create some buttons/objects containing animations & then you can assign them to scene objects etc via the effects tab for said object by linking an animation to "snoop" animation & setting the animation position below.
To make the animations display on space bar you need to create 2 key inputs/actions:
1. space: scenes > fade snoop animations in (time[ms])
2. space (released): scenes > fade snoop animations out (time[ms])
I'm not really sure how you would add hotspots to characters... static characters would be simple enough but moving characters would require using a loop to stick the animation to a characters position.
You don't really have to use the built in system... you could technically create your own by creating an image at the size of each scene & fade in/out as required or you could create scene objects containing animations, manually place them where needed & fade in/out/display as needed etc.