This tool came out of our work on EditorXR, and was expanded significantly and codified for AnimateVR. You can grab and duplicate the Google Sheets version (recommended!) and use it for your projects; we know every app or game will have its own set of states, so this is just a set of examples. Here, we use a golf ball in a VR game as our example object.
You'll note a few things: first, that there can be different types of states based on the mode of the input device. This makes sense in many contexts: if you are in a drawing app and hover near an object, the hover state of that object may glow blue if you are in selection mode, or red if you are in delete mode.
If you haven't already, I also highly recommend reading about the different types of modalities and how to properly apply all three, or a subset of the three, to each state. You will note each state here clearly lists out the object's visual, auditory, and physical modalities, even if nothing is happening for that state.
The Thing
Item, object, event
What will be acted on
A golf ball
Default state
Selected, resting, inactive
Nothing’s happening
– Regular color & texture
– No haptics
– No sound
Disabled
Not available
Could happen, but not now
– Greyed & 25% transparency
– Haptic buzz if user gets close
– 'Doink' error noise if user tries to pick up
Hover state
Proximity, nearby, inside object
What could happen
As controller gets close to pick it up
- Starts to glow blue
- Slight vibration
- No sound
As golf club gets close to it
– Starts to glow
– No vibration
– Wooshing sound
Active state
Selected, moving
What is happening
When selected/held/
– Has blue outline
– Slight vibration
– No sound
When being touched by golf club
– Has blue outline
– Haptic 'pop'
– 'Hit' sound
Active-proximity state
Near insertion point
What is about to be done
When close to the hole
– Outline glows green
– Slight vibration (stronger nearer to hole)
– Rustling sound
Confirmation
Released, inserted, clicked
What just happened
Ball enters hole
– Outline disappears
– Haptic 'pop'
– Celebratory noise
Post-active state
Soon after release
What happened
Ball is dropped
– Outline fades
– Haptics fade out (if applicable)
– Drop sound or release click
Transient state
Selected but not necessarily active
Object is being performed on
- Highlighted, semitransparent, tied to controller
- Slight haptic buzz
- No sound