Inspiration
I wanted to create an asset that blends music and interactive gameplay, making the environment itself a fun and engaging instrument. The idea for "Piano Blocks" was to turn a simple walking path into a creative and playful musical experience for players in Meta Horizon Worlds.
What it does
Piano Blocks is an interactive virtual piano asset. When a character walks across the keys, each block triggers a different musical note, allowing users to create their own melodies simply by moving around. It transforms the environment into a musical playground, encouraging exploration and creative expression through movement.
How I built it
I designed the piano keys as individual blocks and used scripting to detect when a player's character collides with each one. Each block is connected to a specific audio file containing a single musical note. When the collision event is triggered, the corresponding sound is played, creating a seamless musical experience as the character moves from key to key. The asset was built and optimized specifically for the MetaRides and Worlds platforms.
Challenges I ran into
The main challenge was ensuring the musical notes played smoothly and in real-time, without any noticeable lag. I had to optimize the collision detection and sound triggering scripts to be very efficient. I also needed to make sure that the notes wouldn't "stack up" or create a cacophony if the player moved quickly across the keys, so I implemented a system to manage the playback and prevent overlapping sounds.
Accomplishments that I'm proud of
I am proud of creating an asset that is both simple in concept and highly engaging in practice. The "Piano Blocks" asset successfully combines gameplay with creative expression, offering a unique and memorable experience. It's a great example of how simple mechanics can lead to surprising and fun interactions in a virtual environment.
What I learned
This project taught me a lot about optimizing scripts for real-time interaction and managing audio playback in a virtual space. I learned the importance of fine-tuning event triggers to create a smooth, responsive user experience. It also reinforced my understanding of how to use fundamental building blocks to create a compelling and unique asset.
Built With
- horizon
- meta
- typescript




Log in or sign up for Devpost to join the conversation.