Add script for avatars to mark gameobject as local-only
complete
error.mdl
As it has already been hinted that there is going to be a performance settings menu in addition to the new safety settings at some point in the future, and that cameras may be on that menu, I need to bring up a potential issue. Up to this point, cameras have been used as a make-shift way of making stuff local only. In their current state, they are the only component that is disabled by default for everyone but the user of the avatar. This has been exploited in several ways. For example, you can have the camera output to a tiny render texture. You can then read that texture in a shader and check a pixel to see if it has changed from the default value of (0,0,0,0). If it has, you know the camera is active and the local player is the one rendering the shader. An example of this is I've used this technique to make crosshairs for guns that only show up on my screen. They would be very annoying if everyone could see them. A popular use of cameras is to make a HUD selfie camera that always shows the player's face. Nobody other than the player using the hud needs to render the camera (or the hud for that matter) as they will most likely never be able to see it.
If cameras behavior changes to have them on for all players by default with a performance setting to turn them off we are going to need a replacement. It would be great if you guys could add a script to make a gameobject and its children as enabled for the avatar's user only. That should fully be able to replace the functionality of local cameras.
Additionally, it would be nice if you could mark objects to not be enabled on the mirror copy of the player (I've run into several issues with objects on the mirror copy fighting with those on my main avatar) or possibly mark objects as friends-only.
Log In

Tupper - VRChat
updated the status to
complete
Whoops

Tupper - VRChat
updated the status to
open
Marking this as complete-- with AV3 you can choose to only enable an object if the avatar is being worn locally.
ZenithVal
Tupper - VRChat: IMO, this isn't entirely solved yet. Something like a script you can slap on an object to mark it as "local only" and not included in the perf system for remote clients is still needed.
EG: A HUD effect that requires a light for depth and is only enabled via the IsLocal AV3 parameter. The avatar will still be poor as the light is considered for performance ranking even though it's local only. A remote client will never be affected by the light so there should be a way to skip it in ranking all together.

Tupper - VRChat
ZenithVal: This post is nearly 1.5 years old, if you'd like to have some change to this feature, please make a new post.
ZenithVal
Tupper - VRChat: Made it. My bad, this showed up in canny search and I overlooked dates.
Deskclaw
This sounds like a great idea if the script they implement allows the local-only components to not affect the performance ranking. In the meanwhile though you could do something like the following: I've used your old HUD shader on an AV3 avatar and used the 'IsLocal' parameter in animation for similar functionality, after having dropped the actual mesh I used for the HUD to 1 mesh 1 mat. However this still takes up that 1 mesh and 1 material.
Ruuubick - Designer
updated the status to
interested
Chdata
There are plenty of other practical uses for this than just cameras, such as having a flashlight only I can see or a shader HUD that only I can see.
This would potentially save people on avatar performance rankings in various ways, and thus make creation feel less restrictive and encourage us to do more with our designs.
Eremite
With the new patch in the works that considers disabled game objects for performance, this would be a huge boon. https://medium.com/@vrchat/avatar-performance-stats-and-rank-blocking-1ae0feddc775
I have a few components that nobody else needs to see that will soon be a heavy performance ranking hit even though they're only ever active like 0.1% of the time (when toggled on). These could be marked local only and excluded from performance calculations since it's only affecting the wearer.
Magime
need this :3
Unbøund Creatør
This is by far such a pointless feature to add and will only make the game die more if any game obj is local only ppl would have to re upload anything with a game obj, especially when game obj are used for nested animations and are used for animators to animate other game objects. If this gets implemented then vrchat is just gonna die more.
Unbøund Creatør
Also cameras are local only so whats the point, they removed cameras from everyone so people cant steal your viewpoint so its rather pointless to make this a canny.
Al Capone
Unbøund Creatør: This is incorrect and wrong.
H
Hugo Zink
Unbøund Creatør: how in the absolute hell would local-only objects cause VRChat to "die more"? You completely misread the post. He's not asking to make all objects only available locally.
G1fan
Would be nice to be able to mark objects as local only. I doubt it will be implemented though, at least not in the near future. It's not really a crucial feature, and doesn't have many mainstream uses. Plus supporting avatar makers with new, working features doesn't seem to be in the Devs mo.