# Hyperfy Discord - 2025-03-30

## Overall Discussion Highlights

### New Gizmo Tool Development
- **ash** announced the development release of "Gizmo," a new tool for manipulating objects in 3D space
- The tool allows for rotation, translation, and position manipulation with options for world/local space toggling
- Users can toggle between world and local space by pressing T
- Rotation snapping functionality was added based on user feedback
- Scale functionality is planned but requires more extensive implementation
- Commands: Right click, then press 2 or 3 to use the gizmo
- Received positive feedback from community members including **Shiffty** and **devbyte**

### Mesh and Material Management
- Discussions about mesh linking/unlinking affecting how materials and colors can be modified
- **cru** implemented color changing for meshes via a pull request
- Linked meshes are instanced for better performance, while unlinked meshes can be modified independently
- Setting `linked=false` allows for independent material modifications across instances
- Texture swapping for meshes was proposed as a future feature

### World Building and Asset Management
- **vox** proposed an isometric layout for asset collections in the marketplace
- Each item would be a .hyp file available for drag-and-drop functionality
- **szjanko** committed to implementing and testing this feature
- **vox** shared work on implementing lightmaps in a shooter arena environment
- Discussions about creating invisible walls using skyboxes with flipped normals
- **MiaHigashikata** inquired about creating collision boundaries for worlds

### Connected Worlds Concept
- Users expressed desire for a metaverse-like experience where worlds can be linked
- **PurpleSack** articulated a vision of being able to see neighboring worlds
- Discussion about implementing "plots" within Hyperfy worlds, similar to Decentraland
- **general hyper** confirmed plot systems are theoretically possible but would require coordinate-based building permissions
- Current functionality allows assigning ownership of specific areas (like apartments)

### Game Development Features
- **Saori** shared updates about implementing an overheat mechanism for a gun
- The mechanism is server-enforced and serves as an alternative to reload animations
- System includes player-specific cooldown persistence
- **Shiffty** mentioned an issue with spawning under the ground in PVP world

## Key Questions & Answers

**Q: How do I change the color of a mesh?**  
A: You can modify the color property of materials, but you'll need to set linked=false if you want to modify materials independently across instances. (answered by **ash**)

**Q: What's the difference between linked and unlinked meshes?**  
A: Linked meshes are instanced for better performance, while unlinked meshes can be modified independently but at a performance cost. (answered by **ash**)

**Q: How do I toggle between world and local space in the gizmo?**  
A: Press T to toggle between world and local space. (answered by **ash**)

**Q: How do I use the gizmo?**  
A: Right click, then press 2 or 3. (answered by **0mka**)

**Q: Will scale be added to the gizmo eventually?**  
A: Yes, but it's a bigger project to implement. (answered by **ash**)

**Q: What happens to nodes removed from an app and added to world space?**  
A: They're still tied to the original app (and destroyed when the app is destroyed), but their position is in world space. (answered by **ash**)

**Q: How can we create invisible walls or collision boundaries for our world?**  
A: You can use a skybox with flipped normals to create internal collisions. (answered by **ash**)

**Q: How do I flip normals in Blender?**  
A: In Blender, select the mesh, hit tab to go to edit mode, select all vertices, then find the flip normals button. (answered by **ash**)

**Q: Are clones supposed to clone the children nodes?**  
A: Use clone(true) to get all the children too. (answered by **Shiffty**)

**Q: Could we present asset collections in an isometric layout in the marketplace where each item is a .hyp to drag and drop?**  
A: Yes, this will be possible, I'll send you a DM if you want to test it out. I'll have it deployed soon. (answered by **szjanko**)

**Q: Can we make a mini DCL with 100 parcels in Hyperfy?**  
A: Theoretically possible, but would need coordinate-based building permissions (answered by **general hyper**)

## Community Help & Collaboration

1. **3D Modeling Assistance**
   - **Gert-Jan Akerboom** provided a visual guide showing the exact process for flipping normals in Blender to help **mio**
   - **MetaRick** recommended a specific tool (glb.babylonpress.org) for compression with webp to help optimize GLB files

2. **Development Collaboration**
   - **cru** created a pull request that adds support for changing base color of materials after discussion with **ash**
   - **ash** added rotation snap and world/local space toggle to the gizmo tool based on feedback from **TheMattEmpire**
   - **Shiffty** explained to **peezy** that clone(true) will include all children nodes when cloning

3. **World Building Support**
   - **ash** suggested using a skybox with flipped normals to create internal collisions for **MiaHigashikata**
   - **szjanko** offered to deploy and provide testing access for the isometric marketplace layout requested by **vox**
   - **Agent12** provided positive feedback on **vox's** lightmaps implementation in shooter arenas

4. **Community Moderation**
   - **peezy** kicked and deleted a suspicious user named "ADMIN" who had just joined, after **smickelbeard** reported them
   - **ash** agreed to review and fact-check a post about Hyperfy that **MUDBONE** was creating

## Action Items

### Technical
- Add scale functionality to the gizmo tool (Mentioned by **TheMattEmpire**)
- Fix issue with spawning under the ground in PVP world (Mentioned by **Shiffty**)
- Implement node.onMount and node.onUnmount callbacks for LOD nodes (Mentioned by **ash**)
- Add tabs to code editor panel for multiple apps (Mentioned by **ash**)
- Fix cache busting to prevent issues with older client versions (Mentioned by **ash**)
- Create a first-person drone camera for building without player obstruction (Mentioned by **ash**)
- Implement coordinate-based building permissions as a core extension (Mentioned by **general hyper**)
- Investigate z-fighting issues when duplicating objects (Mentioned by **general hyper**)
- Consider implementing first-person mode using existing XR code (Mentioned by **peezy**)
- Research vectorized fonts for rendering text smaller than 4px (Mentioned by **general hyper**)
- Implement reload animations for the gun (Mentioned by **Saori**)

### Feature
- Enable texture swapping for meshes (Mentioned by **cru**)
- Create invisible wall/collision boundary objects (Mentioned by **MiaHigashikata**)
- Add coordinates display over objects in gizmo mode (Mentioned by **0mka**)
- Add focus/teleport feature to quickly navigate to selected objects (Mentioned by **TheMattEmpire**)
- Create a system for plot ownership and permissions in a shared world (Mentioned by **general hyper**)
- Develop connectivity between different Hyperfy worlds (Mentioned by **PurpleSack**)
- Create a "Hyperfy City" with connected worlds (Mentioned by **jar0d**)
- Create drag-and-drop functionality for individual items within collections (Mentioned by **vox**)
- Wallet integration for MMO game login and NFT storage (Mentioned by **MUDBONE**)

### Documentation
- Improve documentation on mesh linking/unlinking behavior (Mentioned by **general hyper**)
- Document proper patterns for app-to-app communication (Mentioned by **ash**)
- Review and fact-check Hyperfy post (Mentioned by **MUDBONE**)