# Hyperfy Discord - 2025-02-14

## Overall Discussion Highlights

### Performance Optimization
- **New Performance Tracking Tool**: Ashxn introduced a tool displaying metrics like instances, geometries, triangles, and texture memory to help identify optimization opportunities.
- **Play World Optimization**: CPU usage was reduced from 20ms to 6ms and GPU usage from 50ms to 38ms through asset improvements.
- **LOD Support**: ~/HowiEDuhzit released an update to Hyperfy Tools with LOD support, allowing meshes named in format "objectLOD0", "objLOD1", etc. to function as LODs, and "objCOL" as custom colliders.
- **Blender Integration**: A Hyperfy theme for Blender and a default startup file with Hyperfy's default terrain and HDR were created for better in-world previewing.

### App Development
- **Mountable Objects**: Several developers worked on creating mountable objects like bikes, with discussions about player control APIs and teleportation.
- **App Control API**: Updates to the app.control API including camera control and key capture were discussed.
- **Multi-script Apps**: Developers discussed the possibility of multi-script apps and spawning apps from other apps.

### AI Integration
- **Agent Implementation**: Drdoge.eth successfully implemented an AI agent in a "rover/collectron" system, configuring it to use preset phrases for commands while leveraging AI for other interactions.
- **Capsule Controller**: Ashxn mentioned an upcoming capsule controller feature.
- **RTS Applications**: Maximus highlighted how AI agents could transform RTS games by allowing users to express intentions that AI agents then execute.
- **Fleek Integration**: Discussions about potentially deploying agents to Fleek.xyz/eliza platform.

### Infrastructure & Deployment
- **Self-hosting Options**: Community members shared methods for deploying Hyperfy, primarily using fly.io as a hosting solution.
- **Deployment Process**: The process involves cloning Hyperfy, adding a fly.toml configuration file, creating a fly.io account, and running deployment commands.
- **Alternative Hosting**: Discussion of VPS with Cloud Panel and shared servers with Node.js as alternatives.
- **Hardware Considerations**: Interest in the Turing Pi RK1 compute module with NPU capabilities for AI processing.

### 3D Design & Asset Management
- **VRM Avatar Creation**: TheMattEmpire discussed VRM avatar creation, rigging best practices, and topology considerations.
- **Asset Organization**: Questions about grouping/parenting objects, standardizing "sockets" for wearables and weapons, and best practices for rotation and snap points.
- **Optimization Techniques**: Discussions on LODs, with observations about how different configurations affect visual quality at various distances.

### Development Process
- **Branch Management**: Ashxn explained that features are built on the dev branch and pushed to main once considered stable.
- **Feature Prioritization**: Discussions about making the development process more structured and transparent with a deterministic path.
- **Documentation Consolidation**: Omka noted they've been consolidating resources at hyperfy.how.

### UI/UX Improvements
- **Asset Visibility**: Suggestions for implementing outlines around objects to make them more distinguishable when closely aligned with other assets.
- **Visual Feedback**: Proposals for tinting or inverting textures on rollover in build mode as an alternative approach.

## Key Questions & Answers

**Q: How do I set collision on Hyperfy V2?**  
A: Go into Blender, open addons panel, search for Hyperfy, it handles it for you.

**Q: How can I make an app spawn another app?**  
A: You can't... yet. But you can embed everything in one GLB and your script can unmount everything on startup and then spawn things as needed.

**Q: How do I teleport my player to a position?**  
A: Use world.getPlayer() and player.teleport(position) on the client side.

**Q: Where do you recommend me to start as a new user?**  
A: Go to play.hyperfy.xyz, then hop into Hyperfy.how/quickstart, grab community assets, and download or drag in some .hyp apps.

**Q: How is Hyperfy evolving? Is there a time duration for each "sprint"?**  
A: Ash just piles up commits and pushes to main at his discretion; there's no specific logic.

**Q: Is there a way to read how long an animation is from the .glb?**  
A: You could use Blender or use this sometimes: https://marketplace.cursorapi.com/items?itemName=degreat.3e

**Q: What's needed for self-hosting Hyperfy?**  
A: You need terminal access to the server you use.

**Q: Would outlines be too taxing on performance?**  
A: Probably not if using lowest LOD or collision frame buffer, with only one extra drawcall needed.

**Q: Why are GLB animations not showing up in world?**  
A: V2 doesn't support GLB animations yet.

## Community Help & Collaboration

1. **Performance Optimization**
   - Ashxn created a performance tracking tool showing metrics like instances, geometries, triangles, and texture memory to help developers identify optimization opportunities.
   - Ashxn shared techniques that reduced CPU usage from 20ms to 6ms and GPU usage from 50ms to 38ms in the play world.

2. **Player Movement**
   - Peezy provided code snippets showing how to teleport a player using world.getPlayer() and player.teleport().
   - Ashxn explained the updated app.control API including camera control and key capture.

3. **Development Tools**
   - ~/HowiEDuhzit released an update to Hyperfy Tools with LOD support and created a Hyperfy theme for Blender.
   - ᲼ explained how to use .cursorrules file and shared a communal note pool link for AI coding assistance.

4. **Deployment Guidance**
   - Saori and Omka provided basic steps for deploying Hyperfy on fly.io: clone Hyperfy, add fly.toml, create fly.io account, run deployment commands.
   - Maximus shared information about terminal access requirements and raised considerations about security and firewalls.

5. **3D Design Support**
   - TheMattEmpire shared documentation links for creating avatars using VRM for Blender.
   - TheMattEmpire offered his base model as a template for proper avatar rigging.

6. **Onboarding Assistance**
   - Omka guided new user MeryShark with links to play.hyperfy.xyz, quickstart guide, community assets, and marketplace.
   - Saori directed treed to hyperfy.how as the consolidated resource for documentation.

## Action Items

### Technical
- Fix random disconnects on play world caused by 60-second idle timeout (Ashxn)
- Hook up interact button for VR to enable opening the fridge (Ashxn)
- Implement anchors for player mounting on objects (Ashxn)
- Fix player freezing when pressing WASD keys (peezy)
- Add the concept of player health and taking damage into the core (Ashxn)
- Set up a board on GitHub to track backlog and development priorities (Ashxn)
- Address performance issues on play.hyperfy.xyz for large-scale worlds (MetaDoge)
- Fix camera bugs when switching between first and third person in indoor scenes (MetaDoge)
- Implement standardized "sockets" or attachment points for wearables and weapons (TheMattEmpire)
- Explore IK implementation for more accurate animation (TheMattEmpire)
- Develop system for clothes that morph to character shapes (TheMattEmpire)
- Add support for GLB animations in v2 (fractilians)
- Implement object grouping/parenting in-world (devilsadvocate.sol)
- Create "best practices" for rotation and snap points (TheMattEmpire)
- Optimize material usage to reduce draw calls (TheMattEmpire)
- Test Hyperfy deployment on both shared server with Node.js and VPS with Cloud Panel (tunelight)
- Explore Turing Pi RK1 compute module with NPU for hosting Hyperfy worlds and AI agents (.hyp shaman)
- Release tool for merging version-compatible branches (general hyper)
- Investigate using lowest LOD or collision frame buffer for outline implementation (.hyp shaman)
- Consider texture tinting/inversion on rollover as alternative or complementary feature (TheMattEmpire)
- Implement AI agent in rover/collectron system (drdoge.eth)
- Explore Fleek integration for agent deployment (Saori)

### Documentation
- Document the new app.control API (Ashxn)
- Organize workshop events to highlight features and build video tutorials (Omka)
- Systematize and organize all documentation in one place (treed)
- Capture screenshots of Hyperfy deployment process for community documentation (maximus)
- Update fly.io deployment documentation to use generic example URLs (𝕽𝖔𝖚𝖘𝖙𝖆𝖓)
- Publish Medium article discussing "apps vs mods" (general hyper)

### Feature
- Create a compass with multiple points of interest that apps can add/remove (Ashxn)
- Enable apps to spawn other apps (MayD524)
- Add combat mechanics to attract more users (Saori)
- Implement a system app for skybox, base environment, and default avatar (Saori)
- Create a marketplace for Hyper token utility with tipping for app creators (szjanko)
- Develop a viral mascot for Hyperfy (szjanko)
- Create a mechanism to let Hyper holders vote (Ashxn)
- Implement proper controller support with mouse mapping for camera angles (Akuma)
- Consider implementing a voting system for feature requests (TheMattEmpire)
- Add multi-select capabilities with standard Blender selection options (TheMattEmpire)
- Add orthographic camera modes (top, left, right) with clipping (TheMattEmpire)
- Implement ability to save assembled structures as single assets (TheMattEmpire)
- Create boardgame kit (maximus)
- Develop NFC-enabled physical keyrings as "keys" to Hyperfy worlds (CheddarQueso 🧀)
- Develop capsule controller (Ashxn)
- Enable crypto payments on Fleek (Omka)
- Implement outlines for assets in build mode to improve visibility (.hyp shaman)
- Allow customization of outline colors to showcase brand gradient (.hyp shaman)