# Hyperfy Discord - 2025-08-20

## Overall Discussion Highlights

### App Architecture & Development
- **App-Based Structure**: Extensive discussion about Hyperfy's app architecture, where everything is an app combining GLB models, scripts, and metadata
- **Architecture Patterns**: Developers can structure their code as either many small specialized apps or fewer apps with more complex functionality
- **Local Development**: Workflows for testing on Quest devices using port forwarding with Meta Quest Developer Hub
- **Performance Testing**: TheMattEmpire is experimenting with instancing to test performance limits, noting good results in localized areas

### New Features & Technologies
- **AI-Powered "Vibe" World**: New feature allowing users to create and edit 3D objects through text commands
  - Basic commands: `/create a bookshelf` and `/edit add some books`
  - Currently in "super alpha" stage
  - Uses Sonnet 4 model
  - Experienced temporary outage due to Anthropic API overload
- **Gaussian Splat Rendering**: mrtzhckr demonstrated Gaussian Splat rendering in Hyperfy
  - Performance varies by file size: <50MB works well on desktop, 5-8MB limit for Quest
- **Precision Controls**: New keyboard shortcuts for fine-grained object positioning
  - Alt+arrow keys: 0.01 increments (fine)
  - Regular arrow keys: 0.1 increments (standard)
  - Shift+arrow keys: 1.0 increments (large)
- **Streaming Support**: Confirmation that .m3u8 streams work in Hyperfy, with bloomers.tv recommended for generating stream links

### Technical Issues
- **Memory Leaks**: Fixed memory leak in AI-generated content feature caused by material cache on primitives
- **API Usage Limits**: Users reporting hitting monthly API usage limits (1GB on free tier)
- **Mac Compatibility**: Potential issues with new positioning controls on Mac due to Alt key mapping

## Key Questions & Answers

**Q: How can an app spawn a GLB in world space?**  
A: Use world.add(mesh) which will remove it from its previous parent. After cloning a node, you need to app.remove it and world.add it.

**Q: If I have 50 items in a "kitchen", do they all need to be their own individual app?**  
A: Everything is apps, but you can structure them in different ways - either as many specialized apps or fewer apps with more complex functionality.

**Q: How can I test networked stuff locally without SSL certs on Quest?**  
A: Use port forwarding with Meta Quest Developer Hub: "adb reverse tcp:3000 tcp:3000" so when you visit localhost:3000 on Quest it's the same as on your computer.

**Q: What model does the AI in vibe world use?**  
A: Sonnet 4.

**Q: What's the performance like on Gaussian Splats?**  
A: Performance depends on file size - under 50MB works well on desktop, 5-8MB limit for Quest before performance drops.

**Q: Is there a way to force FPV or detect when in FPV/3PV?**  
A: Neither yet.

**Q: How do I use Vibe?**  
A: Use `/create a bookshelf` to create something with AI where you are looking and `/edit add some books` to edit something you are pointing at.

**Q: Does Hyperfy have streaming into spaces yet, or just MP4 support?**  
A: Live streaming works if you use .m3u8 streams from OBS or similar platforms.

**Q: How much is the current API plan?**  
A: 1GB a month for free.

## Community Help & Collaboration

1. **App Architecture Guidance**:
   - Helper: ash
   - Helpee: Lastraum - theforgecore.xyz
   - Context: How to structure apps for a game with multiple objects like harvestable resources
   - Resolution: Explained different approaches - either one app per category with shared code or a game manager app that coordinates multiple specialized apps

2. **Quest Development Workflow**:
   - Helper: ash
   - Helpee: mrtzhckr
   - Context: Testing networked features on Quest without SSL
   - Resolution: Provided ADB command for port forwarding to avoid SSL requirements

3. **Streaming Setup Assistance**:
   - Helper: .hyp shaman
   - Helpee: TheMattEmpire
   - Context: Needing a way to get m3u8 links for streaming
   - Resolution: Recommended bloomers.tv as an easy solution for generating m3u8 links

4. **Vibe AI Feature Guidance**:
   - Helper: ash
   - Helpee: 🆂🅴🅱🅶🅰
   - Context: User didn't know how to use Vibe
   - Resolution: Provided link to vibe.hyperfy.xyz and basic commands for creating and editing objects with AI

5. **Object Positioning Improvements**:
   - Helper: ash
   - Helpee: vox
   - Context: Need for finer positioning controls in input fields
   - Resolution: Implemented keyboard shortcuts for different increment sizes in latest dev version

## Action Items

### Technical
- Fix memory leak in AI-generated content feature (material cache on primitives causing memory buildup) - Mentioned by ash
- Implement Gaussian Splat rendering support and optimize for performance across desktop and mobile platforms - Mentioned by mrtzhckr
- Add alternative button for pointer lock toggle (blockquote key) - Mentioned by ash
- Fix issue where users can't jump after refreshing the page - Mentioned by 🆂🅴🅱🅶🅰
- Address role bot not recognizing owned land assets - Mentioned by 🆂🅴🅱🅶🅰
- Implement multiselect functionality for more efficient instancing - Mentioned by TheMattEmpire
- Continue testing performance limits by incrementally adding content - Mentioned by TheMattEmpire
- Investigate Mac compatibility issue with Alt key shortcuts for fine positioning - Mentioned by 𝕽𝖔𝖚𝖘𝖙𝖆𝖓
- Fix input field precision to allow manual entry of values with 0.01 precision - Mentioned by vox
- Consider implementing better API key management to avoid sharing across multiple worlds - Mentioned by .hyp shaman
- Monitor API usage more closely as limits appear to be enforced more strictly now - Mentioned by ash

### Documentation
- Create guide on app architecture patterns (different approaches to structuring apps for game development) - Mentioned by ash
- Create documentation for the new keyboard shortcuts for object positioning - Mentioned by ash

### Feature
- Add ability to force first-person view or detect view mode - Mentioned by Lastraum - theforgecore.xyz
- Add "F" key shortcut for fullscreen toggle - Mentioned by vox
- Support for multiselect in the editor - Mentioned by TheMattEmpire
- Consider changing the generative model to Grok for potential viral growth - Mentioned by MetaMike