# Hyperfy Discord - 2025-03-28

## Overall Discussion Highlights

### Technical Development
- **LiveKit Integration**: 0mka shared plans to use LiveKit for voice, screen sharing, and video in Hyperfy v2, suggesting it as an open-source alternative to Twilio for AI phone assistant systems.
- **Material Handling**: Extensive discussion about the "linked" property of meshes and materials, particularly how it affects UV scrolling and texture manipulation across duplicated objects. Setting `mesh.linked = false` makes materials unique for different instances.
- **Model Context Protocol (MCP)**: Debate about the value of MCP as a standardization for APIs designed with LLMs in mind. The group highlighted how MCP enables efficient context sharing between AI services, reducing token costs by eliminating the need to train agents on how to use each API.
- **VRM Issues**: Users reported VRM models appearing backward in Hyperfy (both v1 and v2) compared to other VRM-compatible applications.

### Asset Creation & Optimization
- **Building Blocks**: Vox shared work on building blocks with controllable emission edges using Kenney's base textures, highlighting optimization techniques that allow for efficient map building with minimal draw calls (2) and file size (500kb).
- **Asset Combination**: Discussion about combining multiple GLB files into a single HYP file or collection for marketplace distribution, with suggestions to use scripts and parent objects for organization.
- **Gradient Emissions**: Techniques for achieving gradient emissions on 3D models through specific unwrapping methods were shared.

### UI/UX Development
- **Component Changes**: Clarification that the "dropdown" component was deprecated in favor of "switch," with users debating alternative UI patterns that would allow seeing all options at once rather than scrolling through them sequentially.
- **3D UI Performance**: Reports of large 3D UI elements causing lag spikes in the platform.

### Game Development
- **Combat Systems**: Peezy showcased a combat arena with respawning mobs and targeting mechanics.
- **Interactive Elements**: Cru demonstrated hexagonal panels that react to player movement by changing color for mini-game projects.

## Key Questions & Answers

### Technical Implementation
- **Q**: Is there anything else that's open source, where AI personality + ElevenLabs voice + a service (not Twilio) can answer my phone and field calls?  
  **A**: LiveKit can do this with its SIP capabilities.

- **Q**: How do I make materials unique for different instances of the same mesh?  
  **A**: Set `mesh.linked = false` to make materials unique.

- **Q**: Do material property changes need to be in app.on('update')?  
  **A**: Yes, especially for unlinked materials, as it ensures proper rendering after changes.

- **Q**: Is there a way to change material color on a mesh through scripting?  
  **A**: Currently only emissive intensity and UV offset are available, not base color.

### Asset Management
- **Q**: Is it possible to combine 40+ GLBs into one .hyp file?  
  **A**: You need to make some kind of script and parent object to place them.

- **Q**: How to get gradient emissions on 3D models?  
  **A**: Unwrap the assigned parts from top view and drag them on a specific texture.

### Model Context Protocol
- **Q**: Is MCP basically just an API standard?  
  **A**: Yes, but designed specifically for interoperability between AI services and to provide standardized context.

- **Q**: How is MCP different from existing APIs?  
  **A**: Existing APIs were designed for engineers to interpret, while MCP provides comprehensive context for LLMs to make appropriate function calls.

### Platform Features
- **Q**: Do we have a reflect feature in Hyperfy?  
  **A**: "Yeah we have everything to make this" (ash)

- **Q**: How do snap points work with objects?  
  **A**: Snap points are guides that pull apps to certain positions without creating relationships between objects.

## Community Help & Collaboration

### Material & Mesh Handling
- **HowieDuhzit** helped **general hyper** with material color not changing uniquely across instances by suggesting using `material.linked = false` to make materials unique.
- **ash** assisted **general hyper** with material property changes not applying correctly, explaining that property changes need to be in the `app.on('update')` function for proper rendering.

### AI Integration
- **0mka** helped **bitpixi** find an open-source alternative to Twilio for AI phone assistant by suggesting LiveKit with SIP capabilities and sharing documentation links.
- **mattimus** clarified for **general hyper** and **maximus** the value of MCP beyond API standardization, explaining how it enables database and file system access via standardized interfaces.

### Asset Creation
- **vox** shared techniques for creating building blocks with controllable emissions and explained how to achieve gradient emissions through specific unwrapping.
- **TheMattEmpire** offered to share a complete road kit with **.hyp shaman** in exchange for feedback.

### UI Components
- **ash** clarified for **0mka** that dropdown was deprecated and converted to "switch" internally, explaining the difference between switch and toggle components.

## Action Items

### Technical
- Implement LiveKit for voice, screen share, and video in Hyperfy v2 (Mentioned by: 0mka)
- Fix material color property issues with unlinked meshes (Mentioned by: general hyper)
- Implement server rack functionality (Mentioned by: general hyper)
- Add respawn functionality to arena combat system (Mentioned by: peezy)
- Improve mobile support for coding in Hyperfy (Mentioned by: general hyper)
- Fix VRM models appearing backwards in Hyperfy compared to other VRM-compatible apps (Mentioned by: cru)
- Address lag spikes caused by large 3D UI elements (Mentioned by: cru)
- Address deployment issues for less technical users (Mentioned by: SWISS)
- Create script for organizing multiple GLB files under parent objects (Mentioned by: general hyper)
- Implement snap points for building blocks (Mentioned by: vox)
- Explore MCP implementation for standardizing AI service connections (Mentioned by: maximus)
- Investigate token cost savings from using MCP vs traditional API implementations (Mentioned by: mattimus)

### Feature
- Add ability to change material base color through scripting (Mentioned by: cru)
- Implement rotation and scaling controls with gizmos for easier world building (Mentioned by: Shiffty)
- Add validation framework for agentic scripts (Mentioned by: Ricky)
- Add "you are not up to date" notification for worlds (Mentioned by: 0mka)
- Implement a true dropdown/select component that shows all options at once (Mentioned by: 0mka)
- Collections functionality for Hyper World to allow grouping of multiple assets (Mentioned by: ash)
- Simplify world building for non-technical users with drag-and-drop functionality (Mentioned by: VTATV)
- Consider integration with AI agents for NPCs in games (Mentioned by: MUDBONE)
- Block links from users without $HYPER (Mentioned by: HypPrivakos - HyperWorld.Host)
- Add visual feedback for sword attacks and range indicators in combat system (Mentioned by: Agent12)

### Documentation
- Create examples of inventory systems with database communication (Mentioned by: 0mka)
- Update documentation for latest version including signals and database APIs (Mentioned by: 0mka)
- Update documentation to reflect dropdown deprecation in favor of switch (Mentioned by: ash)
- Document technique for building maps with just 2 drawcalls and 500kb file size (Mentioned by: vox)
- Create comparison between traditional APIs and MCP for LLM applications (Mentioned by: Shiffty)