# Hyperfy Discord - 2025-02-23

## Overall Discussion Highlights

### Development & Technical Updates
- **Agent Controller Development**: Ashxn and MetaRick shared demos of controllers for NPCs/agents/pets with directional movement capabilities, gravity, and collider traversal.
- **Projectile Mechanics**: Shiffty implemented water balloons with particle effects and proper multiplayer functionality.
- **In-World Documentation**: Omka is working on a documentation pane for in-world reference while coding, with discussions about UI placement and JSON data loading.
- **Password Field Masking**: A new "type='password'" property was added to UI components.
- **Control Binding Cleanup**: Discussion about fixing issues when deleting apps that use app.control() to prevent lingering bindings.
- **Avatar Manipulation**: The "active" property was highlighted as the proper way to hide avatars, replacing the deprecated "visible" property.
- **World:Clean Command Issues**: Bug identified where pages don't load properly after running world:clean without restarting the server, as it might delete files not yet saved to the database.

### AI & Agents
- **Hugging Face Integration**: Drdoge.eth successfully integrated Hugging Face with a Mistral model, though implementation was rudimentary.
- **Voice AI Challenges**: Devilsadvocate.sol highlighted latency issues (0.3m/s) with voice integration and suggested optimization techniques like streaming emotional context in parallel and chunking responses.
- **TypeScript Framework**: Saori mentioned a team developing a lightweight TypeScript framework that integrates with the Hyperfy agent protocol.

### Content & Assets
- **Road/Track Kit**: TheMattEmpire is creating a modular road/track kit with various components including ramps, straights, and curves, designed with future vehicle implementation in mind.
- **Pet Companion App**: ~/MayD524/Hyperfy is developing a networked pet that follows player owners, avoids obstacles, and teleports when stuck, currently working on reducing the model size from 17MB.
- **Asset Sharing**: Akuma shared shop shelf assets with snap points that community members can use and upgrade.

### Infrastructure & Hosting
- **R2 Compatibility**: Confirmation that Cloudflare R2 is S3-compatible for storage solutions.
- **Content Moderation**: Discussion about reactive vs. proactive moderation approaches, with HypPrivakos explaining they would comply with takedown requests but not preemptively scan user data.
- **Age Verification**: Suggestion to implement age verification as an app rather than in core codebase.
- **Self-Hosting Tutorial**: Announcement of an upcoming workshop on self-hosting Hyperfy worlds, covering different hosting options and setup processes.

### Migration & Marketplace
- **V1 to V2 Migration**: Saori is planning to add V1 apps to a GitHub board for potential porting to V2, with some requiring core changes and others being remade without changes.
- **Marketplace Integration**: Discussion about integration with HP's marketplace (hyperworld.host) and content filtering for NSFW items.
- **3D Asset Minting**: Explanation that "glb_url" can be added during the Manifold mint process under "hidden" metadata.

### Token Discussion
- **HYPER Price Drop**: Users noted a significant price decline (25-30%) in the HYPER token, with some attributing it to broader market conditions and liquidity being removed from crypto markets.

## Key Questions & Answers

**Development & Technical**
- **Q**: How can I hide an avatar from a script?  
  **A**: Use avatar.active = false as all nodes have an 'active' property that completely unmounts them (Ashxn)

- **Q**: How does texture LOD work?  
  **A**: LOD works at an object level, so you'd be swapping between 2 meshes with 2 different textures (Ashxn)

- **Q**: Is there a way to force a save with a command like the world clean?  
  **A**: Not currently, but could add one. People have also asked for a save button/command and the ability to disable auto-save (ash)

- **Q**: I change/edit animation_url to glb_url after I mint the 3D asset, right?  
  **A**: You can add `glb_url` during the Manifold mint process under "hidden" metadata (untitled, xyz)

- **Q**: In v2 are we able to livestream yet/play videos?  
  **A**: Not yet (MetaRick)

**Infrastructure & Hosting**
- **Q**: Is R2 compatible with S3?  
  **A**: Yes, R2 is S3-compatible https://developers.cloudflare.com/r2/api/s3/api/ (HypPrivakos)

- **Q**: What type of licensing/controls do you have in place to review what's loaded there?  
  **A**: "I don't control anything, that's not my job. If copyright holders find something not good, I'd comply and delete, but won't preemptively scan private data." (HypPrivakos)

**AI & Agents**
- **Q**: What do you mean by hugging face to work? Are you using openRouter or local ollama to manage responses?  
  **A**: Using Hugging Face with an API key to handle responses and guidance, though uncertain if it's running locally (drdoge.eth)

- **Q**: Why hasn't anyone built AI voice yet?  
  **A**: It's slow and expensive with challenging latency issues (devilsadvocate.sol)

**Content & Assets**
- **Q**: Do you plan to release this as a "pets" app?  
  **A**: Yes, currently fixing bugs and reducing the model size from 17MB (~/MayD524/Hyperfy)

- **Q**: Can I buy a basic kit now? Pretty much just want straights, curves, and a 4 way intersection  
  **A**: "Happy to let these go for free 🙂 Feedback welcomed!" (TheMattEmpire)

## Community Help & Collaboration

1. **Avatar Visibility in Scripts**  
   **Helper**: Ashxn  
   **Helpee**: devilsadvocate.sol  
   **Context**: Explained that "active = false" should be used instead of "visible = false" as visible is deprecated for hiding avatar mesh in script

2. **Projectile App Bug Fix**  
   **Helper**: Ashxn  
   **Helpee**: Shiffty  
   **Context**: Fixed code to use a single control in projectile app where effects were still running after app deletion and shared updated version

3. **VRM File Access**  
   **Helper**: Saori  
   **Helpee**: devilsadvocate.sol  
   **Context**: Shared code snippet showing how to get the model URL in a script for downloading VRM files from avatars

4. **Documentation Pane Implementation**  
   **Helper**: Ashxn  
   **Helpee**: Omka  
   **Context**: Suggested placing button in code editor header and provided implementation guidance for docs pane in code editor

5. **Voice AI Optimization**  
   **Helper**: devilsadvocate.sol  
   **Helpee**: Channel members  
   **Context**: Provided detailed optimization techniques from experience including streaming, chunking, pre-recorded greetings, and vectorization

6. **World:Clean Bug Identification**  
   **Helper**: HypPrivakos  
   **Helpee**: general hyper  
   **Context**: Identified that page loading issues happen when running world clean without restarting the server

7. **3D Asset Minting Guidance**  
   **Helper**: untitled, xyz  
   **Helpee**: treed  
   **Context**: Explained that glb_url can be added during Manifold mint process under "hidden" metadata

## Action Items

### Technical
- Fix control binding cleanup when deleting apps to ensure app.control() properly releases previous controls (Ashxn)
- Implement projectile mechanics with proper cleanup and create reusable projectile system with particle effects (Shiffty)
- Add "active" property documentation and update node.md to include active property that replaces visible (devilsadvocate.sol)
- Migrate v1 apps to new system, converting apps with and without core changes (Saori)
- Fix authentication error on opensourceavatars.com preventing avatar downloads (ToxSam)
- Fix issue with page not loading after world:clean when server tries to serve deleted blueprints/files (general hyper)
- Add a force save command/button to allow manual saving of world state (HowieDuhzit)
- Implement filters for marketplace content and add blur functionality for NSFW item thumbnails (HypPrivakos)
- Fix bugs and reduce model size for pet companion app (~/MayD524/Hyperfy)
- Investigate and fix LOD/texture pixelation issues with road kit (TheMattEmpire)
- Implement AI voice integration (MetaMike)
- Optimize response latency by streaming audio and chat as chunks (devilsadvocate.sol)
- Implement emotional context streaming to process in parallel with chat processing (devilsadvocate.sol)
- Use vectorization to reduce context size based on message content (devilsadvocate.sol)

### Documentation
- Update mesh.md to replace visible with active property and document that visible is deprecated (devilsadvocate.sol)
- Create tutorial on Hyperfy features as documentation doesn't cover many features (ash)
- Establish guidelines on handling licensing concerns and NSFW content (maximus)
- Provide information about VRM avatar minting process for both metaverse and 3D printing compatibility (treed)
- Submit workshop ideas or topic suggestions via the Hyperfy.how Video Tutorial Page (maximus)

### Feature
- In-world documentation reference to create pane for referencing docs while coding (Omka)
- Mobile controls improvement to add jump button and interaction equivalent for mobile (Ashxn)
- Avatar download button to add ability to download VRM files from avatars (devilsadvocate.sol)
- Livestreaming/video playback capabilities for artist performances (IamKR)
- Car functionality ported from V1 to V2 (Paradoxx)
- Option to disable auto-save and make auto-save configurable with manual save option (ash)
- Auto world clean on save to add automatic cleaning during save operations (HypPrivakos)
- Create an app for age verification rather than adding it to core codebase (HypPrivakos)
- Pre-recorded greetings to use while scene loads for AI agents (devilsadvocate.sol)
- Explore TypeScript framework for lightweight integration with Hyperfy agent protocol (Saori)
- Add bridges to the road kit (TheMattEmpire)
- Create separate kit for boost and power ups (TheMattEmpire)
- Add pit buildings and pit road components to track kit (TheMattEmpire)