One Player Trigger Vote to Kick

Inspiration

We were inspired by the need for fair, democratic moderation in virtual spaces. Many VR experiences struggle with disruptive behavior in shared areas, so we wanted to create a community-driven solution that empowers users to self-moderate through collective decision-making.

What it does

Our One Player Trigger Vote to Kick system creates a single-occupancy booth with democratic ejection mechanics.

  • When one player enters the booth, others can vote to remove them if they're being disruptive or monopolizing the space.
  • The system requires a minimum threshold of votes (1/3 of total players) to eject someone, ensuring fair and balanced moderation.

How we built it

We built this using Horizon Worlds' TypeScript framework with two main components:

  • VoteToKickUI: A responsive UI component with real-time vote tracking, visual feedback, and state management
  • SinglePlayerTrigger: The core logic handling player detection, vote counting, teleportation, and world events

The system features dynamic vote thresholds, prevents self-voting, tracks voter history, and provides clear visual feedback throughout the voting process.

Challenges we ran into

  • Implementing real-time synchronization across multiple players
  • Preventing vote manipulation and ensuring one-vote-per-player integrity
  • Creating intuitive UI feedback that clearly communicates voting status
  • Handling edge cases like players leaving mid-vote or the target player exiting voluntarily
  • Balancing the vote threshold to be fair but not too permissive

Accomplishments that we're proud of

  • Created a fully functional democratic governance system for virtual spaces
  • Implemented robust state management that handles complex multiplayer scenarios
  • Designed an intuitive UI with smooth animations and clear visual feedback
  • Built a scalable vote threshold system that adapts to varying player counts
  • Successfully integrated trigger volumes, UI components, and teleportation systems

What we learned

  • The importance of edge case handling in multiplayer systems
  • How to create responsive, state-driven UI components in Horizon Worlds
  • Techniques for managing complex player interactions and world events
  • The value of visual feedback in creating intuitive user experiences
  • Best practices for component communication and event handling

What's next for One Player Trigger Vote to Kick

  • Add configurable vote thresholds for different space types
  • Implement temporary cooldown periods for ejected players
  • Create admin override capabilities for space owners
  • Add vote reason categories (disruptive, inappropriate, etc.)
  • Expand to multi-booth systems with shared voting pools
  • Integrate with reputation systems for repeat offenders
  • Add analytics and reporting for space moderation insights

Built With

Share this project:

Updates