# Hyperfy Discord - 2025-05-14

## Overall Discussion Highlights

### Technical Optimization
- **Asset Optimization:** ~/drdoge.eth reduced monorail textures from 80MB to 18MB, with vox suggesting further optimization to 6MB with 18 drawcalls. Techniques discussed included material combining, atlasing, and collision generation.
- **Performance Limits:** A meeting crashed when too many users joined a fly.io-hosted instance, revealing resource constraints (1 CPU, 1GB RAM) on the free tier.
- **User Capacity:** Ashxn explained that optimized spaces can handle >100 users, but with unoptimized 20MB VRMs with high draw calls, capacity drops to around 10 users.

### Development Features
- **Terrain Development:** Ashxn demonstrated splatmap terrain at island.hyperfy.xyz, showing high-resolution sand blending into stone using a regular mesh node with a special triplanar material.
- **VR Improvements:** Snap turn functionality and better action handling were implemented in VR, with Roustan testing VR trigger actions on Quest 3.
- **UI Enhancements:** A reconnect button was added for mobile disconnections, and discussions about auto-reconnect with exponential backoff were held.

### 3D Design Techniques
- **UV Scrolling:** Vox shared a technique for creating a UV scrolling plane that works with skybox buildings by cutting a sphere mesh and applying a custom script to control texture scrolling.
- **Clickable Models:** Ashxn provided code snippets for making GLB models clickable with hyperlinks and creating action buttons.

### Avatar & Format Discussions
- **Avatar Format Debate:** Ashxn expressed doubts about VRM being the ultimate format and suggested a potential working group to develop a more efficient alternative built on GLTF that allows live wearable swapping.

### Platform & Infrastructure
- **Mobile Accessibility:** Confirmation that Hyperfy works on iOS devices, with developers optimizing worlds for mobile performance.
- **Data Infrastructure:** Brief discussion about Recall Network's data infrastructure project, noting their shift toward data consumption and AI applications.

## Key Questions & Answers

**Q: Is there code I can add to an existing GLB model that will make it a clickable hyperlink to a new tab?**  
A: Yes, you can use `app.onPointerDown = () => world.open("https://foo.com", true)` or create an action button (Ashxn)

**Q: How many users can a Hyperfy space handle?**  
A: It depends on optimization - with optimized avatars >100 users, but with unoptimized 20MB VRMs with 10 draw calls each, maybe only 10 users (Ashxn)

**Q: Is Hyperfy accessible through mobile? iPad or iPhone?**  
A: Yes it works on mobile, and some developers are making worlds very lite for that purpose (maximus)

**Q: Is the game already released or is it still in beta phase?**  
A: The engine is available for creators to build experiences and/or digital items right now, but it's still in beta though very capable already (Ashxn)

**Q: Are the utilities for hyper token live?**  
A: Hyper will power the marketplace when it launches soon (Ashxn)

**Q: Is Hyperfy like an infrastructure where developers can build 3D games powered by hyper token?**  
A: Yes (Ashxn)

**Q: Is it possible to have more configurable UI toggling options?**  
A: The current approach follows standard game design where toggling UI affects all elements for simplicity and user expectations (ash)

## Community Help & Collaboration

1. **Model Optimization Collaboration:**
   - Helper: vox | Helpee: ~/drdoge.eth
   - Context: Optimizing monorail model from 18MB to 6MB
   - Resolution: Vox identified that the model could be reduced to 6MB with 18 drawcalls

2. **Clickable Models Implementation:**
   - Helper: Ashxn | Helpee: 𝕽𝖔𝖚𝖘𝖙𝖆𝖓
   - Context: Making GLB models clickable with hyperlinks
   - Resolution: Provided two code solutions - a simple pointer event and a more advanced action button implementation

3. **UV Scrolling Technique Sharing:**
   - Helper: vox | Helpee: Channel members
   - Context: Creating UV scrolling plane that works with skybox buildings
   - Resolution: Shared detailed technique and sample script for implementing UV scrolling in Hyperfy

4. **Mobile Display Issue Resolution:**
   - Helper: Ashxn | Helpee: MetaRick
   - Context: White bar display issue on iPhone
   - Resolution: Identified the issue was likely due to skybox shadows being enabled and fixed the white bar

5. **VR Control Implementation:**
   - Helper: Ashxn | Helpee: hiroP
   - Context: VR right stick rotation functionality
   - Resolution: Implemented snap turn in the dev version

## Action Items

### Technical
- Implement auto-reconnect with exponential backoff (1, 2, 4, 8, 16, 32, 64 seconds) capped at 20-30 seconds (HypPrivakos, maximus)
- Implement a refresh button for disconnections (Ashxn)
- Improve VR controls with bindings for VR triggers (Ashxn)
- Implement snap turn in VR (Ashxn)
- Fix default app behavior during movement so apps stay live while moving (Ashxn)
- Fix issue where switching avatars in VR makes your own avatar appear (Ashxn)
- Further optimize monorail model from 18MB to 6MB with 18 drawcalls (vox)
- Evaluate pros and cons of in-world vs. in-Blender terrain creation (Ashxn)

### Documentation
- Document user capacity limits based on resources (DevStarlight | Numinia)
- Update link section to replace https://hyperfy.how/ with https://docs.hyperfy.xyz/ (Gert-Jan Akerboom)
- Fix broken link to https://hyperfyworlds.xyz/ (Gert-Jan Akerboom)
- Update website to show v1 vs v2 capabilities with Fallen as v2 example (MUDBONE)

### Feature
- Create a more efficient avatar format alternative to VRM built on GLTF (Ashxn)
- Implement text-based scene description for defining position, rotation, scale and model paths (carlosmu)
- Develop token-gated access system to check for token holdings (Agent12)
- Create automated tool to convert any 3D model to "game ready" with one button (Ashxn)
- Develop collision generator that creates simplified versions of base meshes (vox)
- Consider adding more configurable UI toggling options, including separate chat toggle (0mka)
- Explore Recall Network for potential data infrastructure solutions (maximus)