# Hyperfy Discord - 2025-02-05

## Overall Discussion Highlights

### Development & Technical Updates
- **Hyperfy V2 Development**: Significant progress on app inspection UI improvements, with Ashxn sharing mockups featuring download, remix, and edit options to reduce friction when editing apps.
- **Snap Points Functionality**: New feature implemented allowing objects to snap to designated points in 3D models. In Blender, users can add an empty, give it a custom prop string `node=snap` and export to GLB with "custom properties" enabled.
- **Agent Behavior System**: MetaMike developed a basic behavior tree with animations and LLM integration that responds to player proximity, including rotating toward players, running emotes, and making Eliza API calls based on distance.
- **Hyperfy Tools for Blender**: HowiEDuhzit announced that Hyperfy Tools has been accepted to the Blender Extension Repository, allowing direct installation from Blender 4.2+.
- **App Sharing**: Discussions around creating a system for sharing .hyp files in the community, with interest in establishing a repository or marketplace for app sharing.
- **Hosting Solutions**: Various options discussed for hosting Hyperfy worlds, ranging from self-hosting using fly.io to managed services like hyperworld.host.

### Community & Ecosystem
- **Community Meeting Announcement**: Upcoming meeting will cover creator mode, pre-fab models, hyperBALL, cross-world features, app download/sharing functionality, and VR support progress.
- **Documentation Efforts**: Community-driven docusaurus site at hyperfy.how is being developed to improve V2 documentation.
- **HYPER Token Expansion**: Discussions about potentially expanding the Hyperfy token to Ethereum through Wormhole bridging, including technical challenges of creating liquidity pools and capital requirements.
- **License Model**: Clarification that GPL license applies only to the core engine, not assets, with contributing improvements back encouraged but not mandatory.

### 3D Design & Optimization
- **Model Optimization Techniques**: TheMattEmpire demonstrated optimization of a mushroom model, reducing file size from 1.5MB to 0.1MB through retopology and texture compression.
- **Texture Format Efficiency**: Discussion revealed optimization hierarchy: PNG → JPG → WebP → KTX2 (though KTX2 isn't supported in V2 yet).
- **AI-Assisted Modeling**: Extensive discussion about Meshy, an AI 3D generation tool, with users sharing experiences, limitations, and workarounds.

## Key Questions & Answers

### Development
- **Q**: How can I access the camera in an app? (Shiffty)  
  **A**: You can use `app.control({})` to access camera position and quaternion, though it's primarily for controlling the camera rather than reading from it. (Ashxn)

- **Q**: How do I create snap points in models? (Unchained Ninja)  
  **A**: In Blender, add an empty, give it a custom prop string `node=snap` and export to GLB with "custom properties" enabled. (Ashxn)

- **Q**: Can I do combat on this platform? (frabra239)  
  **A**: V2 doesn't have combat yet, but it's planned. V1 had it working well. (maximus)

- **Q**: What's the procedure for building on Hyperfy V2 without a V1 world? (Cluny_the_Scourge)  
  **A**: You need to secure your own domain and hosting, either self-hosted or through third-party providers. (maximus)

### Agents
- **Q**: How can we trigger expressions within the Eliza hyperfy branch? (MetaMike)  
  **A**: The app has that hooked up already. Each time a request is sent to Eliza it has all emotes and asks it to pick one or none. (Saori)

- **Q**: Any examples of Hyperfy agents to check out? (SoloSolipsist)  
  **A**: https://agents.hyperfy.xyz/ (Saori)

### 3D Design
- **Q**: What texture format is best for optimization? (TheMattEmpire)  
  **A**: From worst to best: PNG → JPG → WebP → KTX2, though KTX2 isn't supported in V2 yet. (Ashxn)

- **Q**: Is there a way to define if a material uses filtering or not for pixel textures? (TheMattEmpire)  
  **A**: Yes, you can use cubic/closest filtering for pixel-perfect textures without blur. (Ashxn)

### Token & Business
- **Q**: What is the purpose of the address holding 30% of the total supply? (Alexa)  
  **A**: It's explained in the tokenomics at token.hyperfy.xyz. (Uuuuuuuuu and maximus)

- **Q**: How much would it cost to create an equivalent liquidity pool on Ethereum? (devilsadvocate.sol)  
  **A**: Would need 10% of total supply and 160 SOL to get an equivalent LP on ETH. (Saori)

- **Q**: Is there a commercial license plan? (devilsadvocate.sol)  
  **A**: Self-answered after reading the GPL license.

## Community Help & Collaboration

### Technical Problem Solving
- **HPrivakos helped ᲼** resolve Docker deployment failures with npm dependency conflicts by identifying Three.js version conflicts, fixed by adding `--force` to npm install and removing version checking.

- **Ashxn helped m₂** with app configuration by identifying incorrect parameter types ('tags' and 'image' not being valid types), suggesting using 'text' instead.

- **Ashxn helped Shiffty** access camera position and direction by providing code examples for accessing camera using `app.control({})` and calculating direction vectors.

- **TheMattEmpire helped the community** by demonstrating optimization techniques that reduced a 3D model from 1.5MB to 0.1MB through retopology and texture compression.

### Hosting & Infrastructure Support
- **maximus and HPrivakos helped Cluny_the_Scourge** understand hosting options for V2 worlds, explaining that V1-style hosting is no longer available but there are third-party hosting providers.

- **devilsadvocate.sol recommended hyperworld.host** managed service by HPrivakos for those seeking hosting solutions.

- **Saori recommended fly.io** as an easy self-hosting solution and mentioned it's pinned in another channel.

### Agent Implementation
- **HPrivakos helped MetaMike** fix incorrect URL in hyp file for Eliza model by providing the correct URL (https://agents.dcl.guru/eliza/hyperfy).

- **Saori helped MetaMike** understand how emotes are triggered in Eliza by explaining that Eliza selects appropriate emotes from those defined in the app based on response content.

## Action Items

### Technical
- Fix npm dependency conflicts with Three.js and postprocessing packages (᲼, HPrivakos)
- Improve app inspection UI to reduce friction/clicks when editing apps (Ashxn, Shiffty)
- Implement scaling functionality for objects in the editor (MetaRick, devilsadvocate.sol)
- Enhance snap points functionality with additional features (Ashxn)
- Create a system for sharing .hyp files in the community (MetaMike)
- Fix echo in the basic behavior tree implementation (MetaMike)
- Improve agent memory to remember user interactions (maximus)
- Explore feasibility of creating Hyperfy token liquidity on Ethereum via Wormhole bridge (Saori)
- Consider alternatives to large initial liquidity provision for cross-chain expansion (devilsadvocate.sol)
- Implement texture sharing capabilities to reduce file sizes (devilsadvocate.sol)
- Explore WebP and KTX2 texture formats for optimization (Ashxn)
- Merge disconnected meshes in Meshy outputs using "merge by distance" in Blender (Valiant)
- Fix the /status endpoint issue where free-for-all worlds show as protected (HypPrivakos)
- Investigate fly.io volume data transfer options (ash)

### Documentation
- Document app.control() functionality for camera access (Shiffty)
- Update implementation documentation for agents (MetaMike)
- Improve V2 documentation by migrating existing docs and creating new content (devilsadvocate.sol)
- Document how to create a system and expose it to the API (Saori)
- Make FAQ more accessible by creating a dedicated channel (Ashxn)
- Create guide for texture optimization techniques (TheMattEmpire)
- Create tutorial for Hyperfy Tools Blender extension (~/HowiEDuhzit)
- Document limitations of world import/export functionality (HypPrivakos)

### Feature
- Add combat system to V2 (frabra239)
- Create a way to bundle multiple apps together (similar to Unity prefabs) (cru)
- Implement a gizmo for fine positioning of objects (devilsadvocate.sol)
- Add Blender export directly to .hyp format (~/HowiEDuhzit)
- Implement versioning for .hyp files (maximus)
- Implement a tip.cc type bot for Hyper token on Solana (Omka)
- Create an in-world agent for collecting tips (Omka)
- Add categories to the forum for app sharing (maximus)
- Implement tokenomics plan (DannyNOR NoFapArc)
- Add better face selection tools in Meshy (devilsadvocate.sol)
- Add front-side identification for Meshy models (devilsadvocate.sol)
- Create custom endpoint for world export (HypPrivakos)
- Develop no-code interface for world building (Zen)
- Create easy quest setup functionality (maximus)