# Hyperfy Discord - 2025-04-21

## Overall Discussion Highlights

### Technical Development
- **Engine Improvements**: Ash mentioned that the Hyperfy engine has improved significantly, allowing the team to focus on other development aspects.
- **Video Atlas Feature**: Ash demonstrated a new texture offset feature that allows controlling multiple 16:9 videos arranged in a grid format within a single container. This will be added to the core system and can be controlled via on-screen buttons, remote UI, or in-world remotes.
- **Joint.js Implementation**: Discussions about using Joint.js for creating dynamic doors with physics-based interactions, though the current implementation was noted to be outdated.
- **Networking Challenges**: Developers discussed the special handling needed for joints and rigidbodies to maintain synchronization across users.

### Performance Issues
- **Mobile Performance**: MetaRick reported frame rate drops on iPhone 16 Pro (from 60fps to around 48fps) even in a fresh world with only optimized GLB files and no scripts. Testing revealed the issue might be device-specific as performance on iPad remained at 60fps.
- **Bug Resolution**: A freezing issue in "doges world" was identified and fixed, which was related to a "Spear" object causing the game to freeze on load until tab switching.

### Platform Features
- **App Sharing**: Discussion about methods to share apps from the Hyperworld site, including using marketplace links, creating collections, or sharing storefront links.
- **Token Trading**: Conversations about Hyperfy token trading, with user "general hyper" claiming over 7 million in trading volume and predicting future price increases.

## Key Questions & Answers

1. **Q**: Is there a workaround to link to my apps page on the Hyperworld site for a tweet?  
   **A**: You can share your storefront link or create a collection (options for sharing apps publicly or privately were explained).

2. **Q**: Where to begin with Joint.js to make dynamic doors that open when walked into?  
   **A**: The base functionality exists but is out of date, and joints need to be networked in the app to keep them in sync (similar to dynamic rigidbodies).

3. **Q**: Could missing LODs be causing the performance issues on mobile?  
   **A**: Inconclusive, but testing suggested the issue appears to be device-specific to iPhone 16 Pro rather than related to LODs.

4. **Q**: When we duplicate objects with video atlas in world, can we control those individually while maintaining instancing benefits?  
   **A**: Ash believes this should be possible.

5. **Q**: Why does mobile performance differ from desktop?  
   **A**: Mobile CPUs handle most processing tasks that GPUs would manage on desktop systems.

## Community Help & Collaboration

1. **Performance Troubleshooting**:
   - Ash helped MetaRick investigate FPS drops by obtaining a snapshot and testing the world, helping identify that the issue might be device-specific to iPhone 16 Pro.
   - Hyp shaman provided technical context on why mobile performance differs from desktop.

2. **Bug Resolution**:
   - HowiEDuhzit helped Ashxn identify and fix a freezing issue in "doges world" related to "the Spear" object.

3. **Feature Implementation**:
   - Ash created a working implementation of the video atlas feature after vox proposed the concept, demonstrating how it could be used to control multiple video segments.

4. **App Sharing Guidance**:
   - Mattimus and szjanko helped Gert-Jan Akerboom understand options for sharing apps from the Hyperworld site, providing specific storefront link formats and explaining privacy settings.

## Action Items

### Technical
1. **Fix outdated Joint.js implementation** (Mentioned by Ashxn)
2. **Develop networking solution for joints to keep them in sync** (Mentioned by Ashxn)
3. **Add option to configure texture offsets on videos to core** (Mentioned by ash)
4. **Continue monitoring performance issues on iPhone 16 Pro** (Mentioned by ash)
5. **Implement LODs for 3D assets** to improve performance (Mentioned by MetaRick)

### Feature
1. **Add a "pin all" button in the apps panel** (Mentioned by MetaRick)
2. **Implement in-world connection refresh functionality** (Mentioned by MetaRick)
3. **Create toggle for setting objects as local or synced, especially for GLBs** (Mentioned by MetaRick)
4. **Add on-screen buttons, remote UI, or in-world remote for controlling video atlas** (Mentioned by ash)
5. **Create video atlases for community use** (Mentioned by vox)

### Documentation
1. **Document sharing options for Hyperworld apps** including collections, storefronts, and privacy settings (Mentioned by szjanko)
2. **Note that latest dev version is required for video atlas functionality** (Mentioned by ash)