# Hyperfy Discord - 2025-08-04

## Overall Discussion Highlights

### Development Updates
- **New Environment Variable**: Ashxn announced a new `CLEAN=true` environment variable that automatically cleans up old blueprints and assets when a world starts, eliminating the need for manual cleanup.
- **Server/Client Execution Model**: Detailed explanation that Hyperfy code runs on both server and client sides, with conditional checks (`world.isClient` and `world.isServer`) to control execution context. The server continues running even when no users are present.
- **Asset Optimization**: Discussion about how the engine keeps meshes linked by default for performance, but they can be unlinked when individual modifications are needed.

### New Applications
- **Audius Music Player**: Lastraum shared a new Audius Music Player HYP that allows users to search for and play music from Audius playlists in worlds. The app was later updated to run only on the client side.
- **Confetti Popper**: Gert-Jan Akerboom worked on a confetti popper app and received help with resolving state-sharing issues between multiple instances.

### Project Vision & Ecosystem
- **Spatial Democracy**: Natefrog proposed using Hyperfy as an infrastructure layer for immersive 3D governance experiences where DAOs could conduct voting and proposal discussions in virtual spaces.
- **Hologram Technology**: Discussion about Hyperfy's relationship to hologram technology, with the perspective that Hyperfy would become more valuable as display technology advances.
- **Project Sustainability**: Z - MetaDJ expressed confidence in Hyperfy's long-term viability due to its open-source nature, which ensures continuity regardless of founder involvement.
- **Metaverse Positioning**: Brief discussion about whether "metaverse" terminology might be deterring potential users, with Xukonth suggesting it's "a dead narrative."

### Technical Issues
- **Git Update Problems**: BallisticBanana encountered merge conflicts during an update process with contradictory error messages. Ash provided guidance on using Git's rebase functionality with stashing to properly handle local changes during updates.

### 3D Design Tips
- **GLTF Optimization**: Valiant suggested a two-step optimization process: first using gltf.report to reduce VRAM usage, followed by gltf-compressor for texture compression, noting that "hypercompresser" combines these tools.

## Key Questions & Answers

**Q: How can the app still be updating if no one is in the world?**  
A: Code runs on both the server and the clients. The server is always running, that way you can have things like plants growing over time. (Ashxn)

**Q: Is there a way for the server to know when a client has left and stop doing something?**  
A: On the server you can use `world.on('leave', e => { console.log('player left', e.playerId) })` (Ashxn)

**Q: What is the role of hyperfy in a world where holograms are a reality?**  
A: Hyperfy is building the infrastructure layer - the servers, networking, physics, social systems, and creator tools. Holograms are just another display technology. (Natefrog)

**Q: Is the project sustainable if the founders leave?**  
A: Yes, because it's open source and can continue to be built upon by the community. (Z - MetaDJ)

**Q: How do I fix Git merge conflicts during updates?**  
A: Abort the current operation, then pull updates with "rebase" and stash/apply any local changes during that process. (ash)

## Community Help & Collaboration

1. **Confetti Popper Implementation**
   - **Helper**: .hyp shaman & Valiant
   - **Helpee**: Gert-Jan Akerboom
   - **Issue**: Confetti popper app where states were shared across multiple instances
   - **Solution**: Suggested unlinking meshes with `mesh.linked = false` and provided specific code example: `popperMesh = app.get('popper'); popperMesh.linked = false`

2. **Script Execution Understanding**
   - **Helper**: Ashxn
   - **Helpee**: Lastraum
   - **Issue**: Understanding how scripts execute in Hyperfy
   - **Solution**: Explained how scripts execute on both server and client with code examples for conditional execution

3. **Git Merge Conflict Resolution**
   - **Helper**: ash
   - **Helpee**: BallisticBanana
   - **Issue**: User encountered Git conflicts during update with contradictory error messages
   - **Solution**: Suggested aborting current operation and using Git rebase with stashing to properly handle updates with local changes

4. **Hologram Technology Context**
   - **Helper**: Natefrog
   - **Helpee**: 3on_.
   - **Issue**: New user asking about Hyperfy's relevance in relation to hologram technology
   - **Solution**: Explained Hyperfy as an infrastructure layer that would be enhanced by, not threatened by, hologram technology

## Action Items

### Technical
- Optimize Audius Music Player app to handle server/client execution properly (Lastraum)
- Implement auto-unlinking of meshes when material properties are modified (Ashxn)
- Develop a solution to make Git operations easier for non-technical users (ash)
- Investigate the "no tree to clear" Git error that occurs during updates (BallisticBanana)
- Respond to external post about Hyperfy from KookCapitalLLC (rando1337)

### Documentation
- Better explain server/client script execution for new creators (Lastraum)
- Create materials explaining how to participate in the Hyperfy ecosystem (Z - MetaDJ)

### Feature
- Add ability to change cursor when hovering over clickable objects (Gert-Jan Akerboom)
- Spatial Democracy implementation - combining governance technology with immersive 3D experiences for DAOs (Natefrog)
- Consider reframing project messaging beyond "metaverse" terminology which may deter potential users (Xukonth)