Feature Requests

Please check out the following guidelines before suggesting a feature! Off-topic posts will be deleted.
Add Support for Streaming Mipmaps for Avatars and Worlds
This feature request is to add support for streaming mipmaps for avatars and worlds. Steaming mipmaps ( unity docs ) allows textures to be downscaled and dynamically loaded into VRAM. It does increase the size of each mipmapped texture by 33%, so package sizes will be larger. However, it allows textures to be loaded dynamically based on distance. This would mean that a texture that traditionally may be 2.8 MB DXT1 at 2048x2048, may be under 44 KB if it is reduced to 256x256 in VRAM. So in worlds, this means significantly reduced VRAM usage when texutures are a certain distance away. Same with avatars if they are a certain distance away. If tuned properly, this could mean that avatars that may traditionally take up 200 MB of VRAM, can instead take up magnitudes less. Often, 2K textures look just fine on most avatars from even 0.25 meters away. So being able to unload them for a smaller one would be significantly useful, especially for large meetup events. Fax did mention that VRChat currently does not have mipmap streaming. The reasons are the following: > Most notably - some user avatars may lack mipmaps, have them disabled, or have a maximum priority. This would adversely affect mipmaps with streaming enabled: Once you run out of VRAM, they’d appear blurry and stuck at a lower mipmap. Users might run into this issue maliciously, or accidentally. Considering that the VRChat application currently allows avatars to be created with mipmaps, but they aren't shown, perhaps there is a way to allow the client to choose if they want them enabled? I do know many games have texture streaming as a togglable option, so perhaps VRChat can do this here? I would even be happy if this was an experimental feature that had risks associated with it, if it's for the sake of testing. Fax also mentioned: > Unfortunately, that wouldn’t fully solve the problem, as avatars uploaded without streaming mipmaps enabled effectively have an ‘infinite’ priority. I see this as a non-issue, unless there are some other contingencies. Unity docs mention that it can load non-mipmapped textures alongside mipmapped textures. Considering VRChat doesn't have mipmap streaming already, this means that the game will be identical with or without mipmap streaming if all avatars don't have mipmap streaming. But in the event that half the lobby does, then there will be at least that many avatars that will save on resources, even if the others don't. Also, perhaps (idk if this can work), but this may also mean that the avatar hider can unload textures properly? At least in theory, if the avatar is not loaded, it may load the smallest mipmap? This would save a LOT of VRAM for users that want to use the avatar hider. This feature would help a lot for people that do not want to optimize their avatars. I do think VRAM over-utilization is one of the worst offenders in terms of VRChat performance. Solving this issue would help many, especially those with less VRAM.
14
·

interested

VRC Group Instances - Portal Placement Permissions
Goal: Make it accessible for VRChat Group Owners to adjust portal placement ability in their instances in order to combat a sense of griefing or bad manners seen in many Group Public/+/Instances. How: Add a VRC Group World Option "Require Group Membership for Portal Placement" and a User Permission node "Restrict Portal Placement in Group Instances" to VRChat Groups: Require Group Membership for Portal Placement: Would be required to be enabled for the Permission Node to be usable. By default, this option would be off, but for VRC Group owners that want to keep their instance more orderly, they can require users be a part of their group to place portals in their world. * This would affect Group Instances, and not players individually, so I'm not sure on the desire and ability to implement this. Restrict Portal Placement in Group Instances: (If the option above is not valid, my suggestion would be to make it so that portal placement in Group instances is just disabled by default.) This Permission Node would have two states: Allowed, which acknowledges the world author's choice for allowing or denying portal placement, which would be the default option. Denied, which disables the dropping of portals. This would be an invaluable permission to grant to "New Members" and would aid in prevention of people joining an "open to the public" group, and immediately dropping portals to be disruptive. If the Group World Option "Require Group Membership for Portal Placement" would need to be avoided, then this option would need to be reversed to "Allow Portal Placement in Group Instances" and would need to deny portal placement permission for anyone who DOES NOT have this option enabled. Context: I run the Sunset Bar, so I get Portal feedback almost on the daily. I would absolutely enjoy the ability for VRChat Groups to have the power to prevent portal placement as it feels very disruptive to drop portals in the middle of an instance. Of course, when you have different groups trying to be the one on top and someone drops a portal inside of their instance, it can eat away at member count. Users who want to fill their instances end up finding the want to ban people who place portals in their instance, but we don't want to prevent portals wholesale either. Thanks for your consideration to this issue!
4
Load More