Atmosphere
The aesthetics of the demo is inspired by games like "Little Nightmares". We chose this aesthetic because we wanted to play with how light and shadows could be cast by objects in the players hands like a lighter and a flashlight.
Interaction
One of VRs biggest strenghts is the feeling of immersion and being within the world of the game. To further play into this feeling, we designed our demo around being able to interact with everything in the room.
The player could interact with drawers and lightswitches by grabbing and pulling. Some objects were given multiple interactions. The door has two distinct interactions, the handle and the door knocker. Paintings have two interactions mapped to the same action. Players can grab paintings to skew them in place, however using too much force will rip the painting from the wall.
Dynamic Listeners
Every grabable item in the demo derives from a parent class, which is coded to respond to every event raised by the controller holding it. In this way, objects themselves could define what buttons they required and what said buttons would do, without requiring multiple scripts.
This functionality extended not only to the buttons of the controller, but also the directional sticks, analog triggers and touch-sensitive areas of the controllers.