# Hyperfy Discord - 2025-03-26

## Overall Discussion Highlights

### Platform Development
- **V1 vs V2 Performance**: Discussion about GIF performance issues in V1, with ash advising that small GIFs are generally fine but larger ones (2K) cause performance problems. Converting GIFs to MP4 video format was suggested as a better alternative for performance in V1, with videos working well across VR and mobile.
- **New User Experience**: A new user interface is available on the Dev branch, with ongoing refinements.
- **PvP Development**: Updates include refined Elementals and a polished inventory/action bar system, with work continuing on the game loop with staking loot.
- **Leaderboard UI**: Development of multi-functional leaderboard UI that enables setting/getting data from the world, improving interoperability between apps.
- **Integration Progress**: Ongoing work with Platform and Privy, plus coordination with HyperWorlds.host on their app marketplace.
- **Development Philosophy**: Discussion around the "mind palace" approach where everything is an app, with future plans for AI-assisted/vibe coding directly within worlds.

### Technical Implementations
- **Rigidbody and Colliders**: Extensive discussion about how tags, collisions, and raycasting work across apps. Ash provided demo apps showing rigidbody contacts, triggers, and cross-app raycasting. Shiffty discovered that tags should be set on rigidbody parents rather than colliders directly.
- **Position and Rotation**: General hyper shared code for loading multiple models from a single GLB and setting their positions. 0mka provided guidance on setting positions for root app objects.
- **Authentication Flows**: Discussion about passing user data to Hyperfy via URL parameters, with suggestions for alternatives like making API calls using session cookies or implementing direct wallet connections.
- **Controller Physics**: Troubleshooting of controller physics behavior, with ash explaining that controllers are similar to Unity's capsule character controllers.
- **3D Model Rendering**: Discussion about single-sided versus double-sided materials in Hyperfy imports, with ash explaining how to control this setting using the "Backface Culling > Camera option" in Blender 4.4.

### Community Projects
- **TattedAlien.club**: Features mini-nukes, mobs, and radiation effects.
- **Hypercity Racing**: Collaborative project with contributions from Vox/Valiant/Omka.
- **Butterfly Swarm App**: Gert-Jan Akerboom implemented configurable spawn parameters allowing for different distribution patterns.
- **Camera Manager**: Shiffty's implementation with Follow, Orbit & Static modes.
- **Functional Apps**: Several apps deployed to Play.Hyperfy.xyz including billboard, radiation zone, and jukebox.

### AI and Development
- **AI-Assisted Development**: Discussion about how non-technical users could create games in V2 using AI by feeding it examples from reference sections or code from other Hyperfy projects.
- **Qwen2.5-Omni-7B**: Maximus shared information about this multi-modal model available on Huggingface that supports streaming and can be self-hosted relatively easily.

### Community and Token
- **HYPER Token**: Discussion about price movements and market sentiment, with mention of the team continuing to build despite market conditions.
- **Community Call**: Announcement that future Community Call announcements will be posted in a different channel.
- **Documentation Support**: Call for volunteers to help polish and improve Hyperfy.how documentation.

## Key Questions & Answers

### Performance and Media
- **Q**: How bad are GIFS in V1 for performance? (asked by Paradoxx)  
  **A**: In v1 gif performance sucks. If the gif size is small they're generally fine, but 2k gifs are problematic. Converting a gif to mp4 video runs better in v1. (answered by ash)

- **Q**: How does video handle performance wise? (asked by Paradoxx)  
  **A**: Videos are great, and work well in vr/mobile too. (answered by ash)

### Development with AI
- **Q**: For someone that has no technical skills how hard would it be for me to create a game in v2 completely using AI? (asked by MUDBONE)  
  **A**: You could do it. Just need to feed it examples of the ref section that's relevant to what you're doing or code yanked from other hyps. (answered by general hyper)

### Technical Implementation
- **Q**: Do colliders have to be named just "collider" or will "collider_name_etc" also be recognized? (asked by general hyper)  
  **A**: Node can be named anything. It's the type that matters. (answered by Shiffty)

- **Q**: Can I set position/rotation in the rigidbody properties? (asked by general hyper)  
  **A**: Set the rotation and position of the root app, not explicitly the rigidbody node. (answered by 0mka)

- **Q**: Can I set a tag on a collider and detect it with raycast from another app? (asked by Shiffty)  
  **A**: Yes, but the tag should be set on the rigidbody parent, not the collider itself. (answered by ash)

- **Q**: Is it possible to add setInterval accessible in hyps? (asked by 0mka)  
  **A**: Could do, but for now just make your setTimeout loop itself or use an update loop. (answered by ash)

- **Q**: Can I redirect the user to a link when the user clicks on something? (asked by McCoder)  
  **A**: Yes, using world.open() function available in the latest dev branch. (answered by 0mka)

- **Q**: How do I update a fly.io deployment without overwriting world changes? (asked by Mugenomics)  
  **A**: It won't overwrite your files, it creates a new deployment smoothly. (answered by 𝕽𝖔𝖚𝖘𝖙𝖆𝖓)

- **Q**: Does anyone have a good example of an authentication flow to pass user data to hyperfy? (asked by Mugenomics)  
  **A**: Make an API call using the session cookie in hyperfy to get the user's info. (answered by smickelbeard)

- **Q**: What is the size of the default grass plain? (asked by Gert-Jan Akerboom)  
  **A**: It's 2km wide/deep. (answered by ash)

- **Q**: Just confirming if Materials were always 2 sided or thats a new thing? (asked by TheMattEmpire)  
  **A**: They can be either single or double sided, you can set that in blender (answered by ash)

- **Q**: How do I change single/double sided setting for glb export in Blender 4.3? (asked by TheMattEmpire)  
  **A**: In blender 4.4 it's the "Backface Culling > Camera option" (answered by ash)

- **Q**: How do app position and root rigidbody position work? (asked by general hyper)  
  **A**: Setting the rigidbody node position places the object relative to where the user originally placed the app, while setting app.position overrides the user-placed position (answered by general hyper, confirmed through testing)

- **Q**: How can I work with world coordinates instead of app-local coordinates? (asked by general hyper)  
  **A**: Do app.remove then world.add, or use world.attach which preserves the transform (answered by Shiffty)

## Community Help & Collaboration

1. **Performance Optimization**
   - **Helper**: ash
   - **Helpee**: Paradoxx
   - **Context**: Performance issues with GIFs in V1
   - **Resolution**: Advised that small GIFs are fine but large ones cause problems, and suggested converting GIFs to MP4 video for better performance

2. **AI-Assisted Development**
   - **Helper**: general hyper
   - **Helpee**: MUDBONE
   - **Context**: Creating a game in V2 with no technical skills using AI
   - **Resolution**: Confirmed it's possible by feeding AI examples from reference sections or code from other hyps

3. **Position and Rotation**
   - **Helper**: 0mka
   - **Helpee**: general hyper
   - **Context**: Setting position/rotation for objects
   - **Resolution**: Provided code example showing how to set position and rotation on root app rather than rigidbody directly

4. **Raycast Tags**
   - **Helper**: ash
   - **Helpee**: Shiffty
   - **Context**: Trouble with raycast tags across apps
   - **Resolution**: Created demo apps showing how rigidbody contacts, triggers, and cross-app raycasting work, clarifying that tags should be on rigidbody parents

5. **Authentication Flow**
   - **Helper**: smickelbeard
   - **Helpee**: Mugenomics
   - **Context**: Authentication flow for Hyperfy
   - **Resolution**: Suggested making API calls using session cookies to get user info

6. **Deployment Updates**
   - **Helper**: 𝕽𝖔𝖚𝖘𝖙𝖆𝖓
   - **Helpee**: Mugenomics
   - **Context**: Updating fly.io deployments
   - **Resolution**: Confirmed that updates won't overwrite world files

7. **Material Properties**
   - **Helper**: ash
   - **Helpee**: TheMattEmpire
   - **Context**: Understanding how to control single/double sided materials in Blender for Hyperfy imports
   - **Resolution**: Explained that the "Backface Culling > Camera option" in Blender 4.4 controls this setting

8. **World vs App Coordinates**
   - **Helper**: Shiffty
   - **Helpee**: general hyper
   - **Context**: Positioning objects in world space vs app space
   - **Resolution**: Suggested using app.remove followed by world.add or world.attach to preserve transforms

## Action Items

### Technical Tasks
1. **Fix optional text fields** that are incorrectly set as required on the survey (Mentioned by: mattimus)
2. **Convert GIFs to video format** for better performance in V1 (Mentioned by: ash)
3. **Recover audio recording** from community call (Mentioned by: maximus)
4. **Add world.getQueryParams() to Apps.js** to let apps read URL query parameters (Mentioned by: ash)
5. **Implement EVM mod** for direct wallet connection in world (Mentioned by: 0mka)
6. **Add tag/contact support for controllers** (Mentioned by: ash)
7. **Create a way to quickly deactivate apps** without commenting out code (Mentioned by: general hyper)
8. **Fix issue with rigidbody type "kinematic" property** not being properly applied when set in Blender (Mentioned by: general hyper)
9. **Fix scroll bars appearing** when code pane slides out (Mentioned by: peezy)
10. **Investigate black screen issue** causing React and WebGL errors (Mentioned by: general hyper)
11. **Fix GitHub issue #74** (Mentioned by: peezy)
12. **Implement connection between color and emission color** in butterfly model (Mentioned by: Gert-Jan Akerboom)
13. **Fix visual issues with butterfly wing emission** (Mentioned by: Gert-Jan Akerboom)
14. **Complete PvP updates** with Elementals and inventory/action bar (Mentioned by: Ash)
15. **Continue development of multi-functional leaderboard UI** (Mentioned by: Omka)
16. **Complete mob prototyping** to pair with Elementals (Mentioned by: peezy)
17. **Continue development of Hypercity Racing** (Mentioned by: maximus)

### Feature Requests
1. **Implement Ghibli filter** for Hyperfy (Mentioned by: johan)
2. **Add slider for rounding corners** of UI panes (Mentioned by: 0mka)
3. **Fix opacity range selection** in hyp config settings (Mentioned by: 0mka)
4. **Create a hair particle system** based on vertices of a GLB (Mentioned by: Gert-Jan Akerboom)
5. **Launch hyp app marketplace** with featured apps section (Mentioned by: szjanko - HyperWorld.Host)
6. **Develop functionality to automatically import Decentraland wearables** into Hyperfy (Mentioned by: jar0d)
7. **Add configurable spawn parameters for butterfly simulation** (Mentioned by: Gert-Jan Akerboom)
8. **Implement AI-assisted/vibe coding within worlds** (Mentioned by: community discussion)

### Documentation Needs
1. **Improve documentation** on where to get started with V2 development (Mentioned by: general hyper)
2. **Add notes for tutorial sessions** on hyperfy.how (Mentioned by: 0mka)
3. **Document wire connections** between connector points (Mentioned by: HowieDuhzit)
4. **Create or update documentation about material-sided behavior** in Hyperfy imports (Mentioned by: TheMattEmpire)
5. **Compile and maintain a central repository of .hyp objects** (Mentioned by: peezy)
6. **Document the difference between setting app.position vs rigidbody position** (Mentioned by: general hyper)
7. **Explain workflow for positioning objects** in world space vs app space (Mentioned by: Shiffty)
8. **Improve and polish Hyperfy.how documentation** (Mentioned by: maximus)