So the problem is definitely my custom avatar, the lags just goes away extremely noticeably when I switch it, or press reset avatar, and it only lags my game, not the people in the same world.
The lag is extremely gradual, and initially unnoticeable. It’s highly apparent my game is lagging after spending 30 minutes in a world. And Super, extremely unbearably laggy, when I wake up un vr after spending a whole night in a world. Initially, it was a nightmare to not know where the source of the lag was coming from. It took some time for me to notice it wasn’t the worlds, since the game unlagged when changing worlds, it was the avatar.
So, this avatar, and my suspicions on what could be doing it, that I don’t know how to fix:
My avatar was a free VFX model I imported in unity, textured, and from its many many blendkeys to change its body type, I created vrchat menu radial sliders to change those body types.
Each body blendkey, I made it into a float parameter, and its own blendtree animation between an 0 and 1 animation.
So, in unity testing, I have seen how the FX animation trees all sparkle to life in constant loop, every body adjustment animation is one animation on constant activation.
So, my theory is that, that might be the cause of it, the more they keep playing the more gradually it builds up… data or something that lags the computer. When the avatar is reset, or reloaded by switching avatar and back. The animations reset, so it unlags and starts over.
I uh. I want to know:
- Is my theory correct? Does having multiple toggle and blendtree unity animations in your avatar FX file create problems? Or am I wrong since it’s a common thing to have in every avatar, so it must be another thing?
- If it is the animations, is there a more optimal way to turn a lot of blendkeys of your model into a radial slider each? I am using a looot of float parameters on this one, it’s on the verge of not letting me create more parameters.
- If it’s not the animations, could it be GO LOCO? I added to my avatar the Go Loco package. Like, the most complete one with flight controls. I wonder if its known to cause trouble. I’m not really on the mood of taking it out of the avatar, and waiting half an hour in a vr world to see if it begins lagging.
Do let me know if this issue needs more data. I could take screenshots of the giant list of parameters on my FX file, with its many many layers, one each per blendtree animation going from an animation that sets the blendshape to 0 and another that sets it to 1. Controlled by a radial slider, using a float parameter.
One other thing I notice about my avatar.
Using the radial sliders, it goes from 0% to 100%, alright? So, When I reach 99% it shows the max amount that the blendshape is cranked up, but when reaching a 100%, it jumps back t how it looks at 0%. Is that normal? Or could it be a clue that something is wrongly executed.
Do let me know.