PC to Quest Parameter Sync
․Cam
Currently, it is being passed around that parameters are synced over the network by
name
.However that does not appear to be the case, as each of the expressions parameters between my Quest and PC avatars are shared in name, but are
not
shared in index. It follows from this setup that the actions resulting from those parameters being driven by the expressions menu are not synced between the two platforms.I additionally have a Quest model that has completely separate parameters with completely separate names, but those parameters
with completely separate names
are being driven by the PC version despite again, having completely separate names
.It is my theory that parameters are instead synced by index rather than name.
If my findings are correct, it would be nice if this behavior could be changed such that parameters are synced by name reather than by index.
Thank you.
Log In
D
Docteh
To sync parameters by name they either have to transmit the name in every packet, or do stuff under the hood to reconcile the parameters for various platforms.
Personally I just blindly sync the parameters between PC/Quest, the only downside that an unused parameter brings is that maybe you forget they're unused?
Just spitballing with names like VRCEmote Outfit Sword, I think 32 bytes would fit three parameters, compared to allocating the 32 bytes (256 bits) into 32 different integers.
DarkPowers
Sounds like you have 2 different avatars. this is why i keep saying the conversion to android needs to be automatic, it would avoid this kind of issue.
Kazy
DarkPowers: Avatars need to be different. I have way more toggles on my PC version than my Quest one, simply because I want to keep Medium on both. If it was automatic, it would put all that crap on my Quest one and I'd be in Very Poor city.
․Cam
DarkPowers: I do indeed, as is intended
Temporal
You're half right. Avatar parameters are encoded into a byte array and transmitted as such, without any of the parameter names included, likely for network optimization to keep overhead as low as possible. This means that you need to keep the order of your parameters AND their parameter type the same, the parameter name itself is of no consequence. I've tested this and confirmed this to be the case.
For example, 2 bools and an int with values True [0], False [1], 111 [01101111] would be encoded as "0101101111". This is also the reason why your parameter space is measured in bits, and whatever parameter names you choose doesn't use up more space. Your game client receives the bytearray and maps it back into the parameter list in the same order in which its defined.
In the above example, if you had reordered it to int followed by 2 bools instead, your "0101101111" would have been mapped to 91 [01011011], True [1], True [1] instead.
․Cam
Temporal: Cool, thank you
Fuuujin
Temporal: I had no clue parameters are encoded this way. Thanks for sharing.
Kazy
I've also experienced this, as my Quest avatar has far less features than my main one, so it has less parameters.
D
Docteh
Kazy: With the current setup, you should have the same parameters list on Quest/PC. Nothing wrong with ignoring some parameters. At the moment a bool is 1 bit, while the other two options (int/float) are 8 bits but I'd recommend getting those right just in case
K․dance
This could be wrong, but I've always synced my quest and pc versions using the menus. I just keep the menus identical and mark features that don't work in quest as "PC only." I'm pretty sure that similar to how test avatars can activate options in the avatar you're wearing, the PC/quest versions simply hit the corresponding menu buttons on the other platform. Its not ideal, so I do agree that parameters should be synced instead. I could do without cluttering the poor quest user's menu with buttons that don't even work.
․Cam
K․dance: Are you syncing the menus and the parameters, or just the menus
K․dance
․Cam: So I just looked at the public avatar I made that I know syncs pretty well, and it does have the same parameter list on both versions. I don't have a quest anymore to test, but when I did I did a lot of trial and error to get the clothing toggles and the plushie pickup to sync and only thing that seemed to work was lining up the menus.
․Cam
K․dance: Well thats interesting
Z
ZΣ П
I also would like questies to stop asking why I'm stabbing people in the head with a knife when I go to headpat someone
․Cam
ZΣ П: we dont worry about this (: oops