[FEEDBACK] Mark local objects explicitly and exclude them from performance rank calculation
logi_9
Avatars may contain GameObjects that are used only locally. For example, camera extensions and inventory systems based on Avatar Dynamics. I think that they should be excluded from performance rank calculation if they are always disabled in remote environments.
I know that it is hard to determine which objects are local by inspecting animator controllers. My proposal is based on explicitly marking and runtime content modification to avoid animator inspection.
- Mark local objects as "local only" by tag or custom component.
- Remove marked objects while loading avatars as with camera components in avatars used by non-friends.
This feature makes the performance rank system more accurate and reasonable. It will help to motivate developers to optimize their avatars.
Log In
kb10uy
This feature seems to be more useful and effective for upcoming new limitation based on estimated memory usage (uncompressed size) [^1].
That number, in my opinion, is meant to be applied for remote players. So local-only objects should be markable as "not intended to propagate onto remote environments".
Xan
I want this feature to be a thing too, but I'm more in it for how
other people
perceive my
avatar, less as a means of promoting optimization - I already know I have done everything I can for the other players, in many cases.A great example of a use case is my most recent avatar. One of my overlay shaders needs access to the depth buffer, which can only be enabled if there are shadows in the scene as per a limitation of unity (n.b. RTs don't work without a bunch of logic to do stereo separation or render twice, the latter of which is orders of magnitude more expensive especially at higher RT resolutions). This means that to guarantee it works in every world, I need to add a directional light to my avatar.
I ended up putting this lengthy disclaimer into my avatar world next to the pedestal (see attached photo).
The best way to implement this in my opinion is to have the avatar details screen outline the remote performance, but if you select the avatar in the avatar selection menu, it will display the local performance rank, just with some footnote like "This is the performance on your hardware due to clientside objects".