# Hyperfy Discord - 2025-02-06

## Overall Discussion Highlights

### Platform Development
- **Snap Points Implementation**: Ashxn introduced snap points functionality, allowing objects to snap together in world building, which was received enthusiastically.
- **Hyperfy Tools for Blender**: The Hyperfy Tools add-on was accepted to the Blender Extension Repository, allowing direct installation in Blender 4.2+. The tool adds features like snap points and collider support for modular asset creation.
- **Control Schemes**: Significant debate about control schemes, with some advocating for separate build and game modes while others preferred a unified approach.
- **Mouse/Touchpad Controls**: Issues with mouse wheel zoom direction inconsistency between Mac and Windows were identified and fixed in development.
- **VR Support**: Progress on VR support was mentioned in the upcoming community meeting announcement.

### App Development & Distribution
- **.hyp File Format**: Discussions about the .hyp file format as a way to package and share apps.
- **App Marketplace**: HPrivakos demonstrated rapid implementation of a marketplace where creators can publish, update and sell assets, with features like USD-indexed pricing.
- **App Bundles**: Discussions about supporting app bundles to package multiple related apps together.
- **Mesh Instancing**: Ashxn confirmed that linked duplicates in Blender automatically instance in Hyperfy v2 without requiring additional scripts, enabling efficient rendering of repeated objects.

### Hosting & Infrastructure
- **Hosting Solutions**: With v1 hosting no longer available, users now have options including self-hosting via fly.io, or using managed services like hyperworld.host.
- **World Export**: Discussions about creating a custom endpoint to zip and download world folders to enable world export functionality.
- **Discord Integration**: B34k3r encountered Content Security Policy (CSP) and proxy issues when trying to integrate Hyperfy with Discord's embedded activity SDK.

### 3D Design & Optimization
- **Asset Optimization**: TheMattEmpire shared optimization work on mushroom assets, demonstrating significant file size reduction through retopology, texture optimization, and format conversion.
- **Texture Formats**: Discussion revealed that JPG textures are generally more efficient than PNG for web applications, with WebP being even better.
- **AI-Generated Models**: Users explored AI-generated 3D models from tools like Meshy, discussing their quality, topology issues, and optimization techniques.

### Blockchain & Token Integration
- **HYPER Token**: Discussions about the HYPER token airdrop claiming process and how to better promote the token through Twitter and website integration.
- **Licensing Clarification**: GPL license applies only to the core engine, not to assets loaded into it, allowing commercial use while encouraging open-source contributions.
- **Cross-Chain Functionality**: Discussions about developing a Hyper bridge for cross-chain functionality.

### Agent Integration
- **Character Models**: Discussions about connecting AI agents like Eliza with character models, with Jin sharing progress on this integration.
- **Beacon App**: Maximus shared information about the Beacon app, which integrates with DSIG infrastructure to support relays aggregating worlds and user status, bringing approximately 100 visitors per day to connected worlds.

## Key Questions & Answers

### Development & Technical
- **Q**: Can people who download apps edit the code?  
  **A**: Yes, unless you hit lock. If left unlocked, it's remixable. (Ashxn)

- **Q**: How do I scale something?  
  **A**: Currently only possible in Blender or via script, as allowing in-world scaling might break apps built to work at specific scales. (Ashxn)

- **Q**: Can we duplicate the mesh of a model in an app and create more of them?  
  **A**: Yes, using clone(true) for recursive cloning of meshes. (Ashxn)

- **Q**: Is there anything special about the player position when using world.getPlayer()?  
  **A**: Player.position is often offset from the avatar. You can use app.position.copy(player.position) to follow a player. (Saori)

- **Q**: What file format is best for textures in terms of file size?  
  **A**: From worst to best generally it's PNG -> JPG -> WebP -> KTX2, with JPG and WebP being close in performance. (Ashxn)

- **Q**: Do linked duplicates in Blender automatically instance in Hyperfy v2?  
  **A**: Yes, they auto-instance in Hyperfy v2 without needing additional scripts. (Ashxn)

- **Q**: Is there a simple example script for rotating a GLB file?  
  **A**: Yes, a code example was provided to rotate a cube. (szjanko)

### Blockchain & Hosting
- **Q**: What is the license situation for client projects using Hyperfy?  
  **A**: GPL only applies to the core engine, not assets. It's not mandatory to contribute improvements back, but encouraged for mutual benefit. (Ashxn)

- **Q**: What's the procedure for building on Hyperfy v2 if you don't have a v1 world?  
  **A**: You need to secure your own domain and hosting, or use third-party hosting providers. (maximus and HPrivakos)

- **Q**: How do I claim my hyper tokens?  
  **A**: Check the #announcements channel for information. (devilsadvocate.sol)

- **Q**: How do I store stuff on Arweave?  
  **A**: Use ardrive.io. (Ashxn)

- **Q**: Is there a way to mint VRM in Solana?  
  **A**: Yes, using Metaplex NFTs which have metadata support. (Ashxn)

## Community Help & Collaboration

### App Development Assistance
- **Mesh Cloning**: Ashxn helped devilsadvocate.sol with cloning meshes in an app, explaining that clone(true) is needed for recursive cloning and providing code examples for spawning projectiles.

- **Player Position Tracking**: Saori assisted Shiffty with player position tracking issues by providing code examples to copy player position to app position in update loop.

- **Drag and Drop Functionality**: Ashxn helped HPrivakos fix drag and drop functionality from websites not working on Windows/Linux by modifying code to handle multiple MIME types for URLs.

### 3D Design Optimization
- **Asset Optimization**: TheMattEmpire demonstrated to the community how to optimize 3D mushroom assets through retopology, texture optimization, and file format conversion, reducing file size from 1.5MB to 200KB.

- **AI Model Optimization**: TheMattEmpire showed devilsadvocate.sol how to reduce polygon count on quad-based AI-generated models while maintaining visual quality.

### Documentation Efforts
- **Community Documentation**: Saori and devilsadvocate.sol are maintaining a community documentation site at hyperfy.how, with ongoing discussions about what to prioritize.

- **Blender Tools**: ~/HowiEDuhzit created and published the Hyperfy Tools Blender add-on that simplifies exporting to Hyperfy with snap points and collider support.

## Action Items

### Technical
- Implement pointer lock as default control style to improve user experience (Ashxn)
- Create app that connects across worlds (like an orb that glows in every world it exists in) (Ashxn)
- Implement raycasting on the server for physics interactions (Saori)
- Add support for app bundles to package multiple related apps together (MetaMike)
- Develop a Hyper bridge for cross-chain functionality (Saori)
- Implement a tip.cc type bot for Hyper on Solana (Omka)
- Create a subscription/streaming payment system for creators (Omka)
- Review and adjust hosting platform pricing tiers to address the large gap between $5 and $25 tiers (HPrivakos)
- Implement "pay with hyper" feature for Hyperworld hosting (devilsadvocate.sol)
- Fix mouse wheel zoom direction inconsistency between Mac and Windows in Hyperfy v2 (Ashxn)
- Implement touchpad support for camera controls in Hyperfy v2 (𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎)
- Add support for custom mesh colliders in Hyperfy Tools (TheMattEmpire)
- Make snap points children of the asset by default in Hyperfy Tools (TheMattEmpire)
- Implement texture sharing/instancing to reduce draw calls for assets using the same textures (devilsadvocate.sol)
- Create a collection export option in Hyperfy Tools for multiple assets sharing materials (TheMattEmpire)
- Add first-person camera mode to Hyperfy v2 (𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎)
- Explore possibility of creating a custom endpoint to zip and download world folders (HypPrivakos)
- Investigate solutions for Discord CSP and proxy issues when embedding Hyperfy (b34k3r)
- Test listing all external links in allowed URLs for Discord integration (b34k3r)
- Implement Beacon app to integrate with DSIG infrastructure for increased world visibility (maximus)
- Integrate AI news summarization tool with Discord/Twitter (jin)
- Contact tip.cc for HYPER coin listing (already in progress) (jin and Saori)

### Documentation
- Create documentation for .hyp file format (jin)
- Improve object hierarchy viewer UI for easier scripting (~/HowiEDuhzit)
- Document how to create a system and expose it to the API (Saori)
- Update docs with information about snaps, app downloads/imports, and .hyp files (devilsadvocate.sol)
- Create more character file templates for agent integration (jin)
- Create a more visible link for token claiming on the website and Twitter (kiba)
- Improve token visibility on social media through linktree or other methods (Saori)
- Add note to Hyperfy Tools documentation about applying rigidbody before export (TheMattEmpire)
- Update UI colors in Hyperfy Tools to avoid confusion with red highlighting (TheMattEmpire)
- Review GitHub repository for custom SDK and technical information beyond Beacon Hyperfy core (limbo)

### Feature
- Add configurable keybinds for better accessibility (HPrivakos)
- Implement free camera mode for building (peezy)
- Add gizmo for fine positioning of objects (devilsadvocate.sol)
- Add "Pay what you want" option to marketplace (TheMattEmpire)
- Add collections support to marketplace (HPrivakos)
- Develop a news aggregation system for in-world updates (Omka)
- Add a $10-15 hosting tier to bridge the gap between existing tiers (devilsadvocate.sol)
- Add ability to see the selected collider in Hyperfy Tools (TheMattEmpire)
- Create a library of optimized Kenney assets in .hyp format (᲼)
- Develop no-code interface for world building (Zen)