Parameter Driver not setting values despite activation

I’m currently setting up logic for a Buster Sword prop on my avatar, with two animator layers.


The first layer holds all the drivers, which take Boolean parameters from senders and receivers, and depending on which hand is detected and whether i’m grabbing the collider, should set the BusterPosition Int parameter to a number from 0-3.

The current Booleans above are activating the “Right 1” animation…
image

… which should be setting the “BusterLocation” Int parameter to 1
image

However, the Int parameter is not being set to the corresponding value. This is the case for all other Boolean states in the animator layer.
image

Manually changing the BusterLocation parameter to the corresponding number value does activate the second animator layer, which holds all of animations transitioning the Buster sword to the different parent constraints, so I know for a fact that the issue is with the parameter driver itself, rather than the parent constraint animations not working.

I’m trying to follow the logic here:

So it’s clearly detecting the colliders when you grab the sword and setting the proper booleans. The one thing that strikes me with those screenshots is the BusterLocation.

If you have a Paramerter Driver in Right1 that is setting the BusterLocation but the transition is also testing the value of BusterLocation, could there be something happening there where values are actually being set but now they fail the test for the transition.

On first glance it doesn’t seem so - the ParameterDriver looks like it’s setting BusterLocation to 1 and the test is checking to see if it’s Not 2 - so it should pass but that series of testing a variable that you’re then changing looks like it could cause problems.

Have you tried it in game and enable debug logging?

And just another dumb question - but if your BusterLocation is meant to be a networked variable, are you certain that it’s in your Parameters file and spelled correctly with case sensitivity?

1 Like

Yes, so the parameter booleans are being detected correctly in-game, but yet nothing is occurring. And you’re also right that the transition is checking for the BusterLocation parameter, and the Driver should be setting it, but since the driver is occurring after the transition detects the right booleans, it shouldn’t have any conflict unless it is interrupted, but the transition should be more/less instant. I do have it all networked, and they are all spelled correctly with case sensitivity. I have also reinstalled the SDK to ensure it wasn’t something missing in it.
The fact that I see the transition fully go into effect and supposedly activating leads me to believe the transition is working, but the parameter driver, or some setting within it.

I’m not sure what debug logging is, but if you’re referring to the debug menu in the avatar3.0 options, then yes I have enabled it, and I can see the proper booleans activate, yet the BusterLocation parameter remains at the default I set it to initially, usually 0.

Hmm… curious.

I use Parameter Drivers extensively in my own avi to set and reset variables as to generate random numbers so I know that they work, but I do recall having a problem similar to what you’re seeing.

The one thing all my parameter driver states have in common is that they either have ‘Exit Time’ enabled or they have a transition out of the state that contains the driver.

Maybe try implementing either of those mechanisms and see if that has any effect?

1 Like

Checking the exit times, adding an exit time of 0 and even .01 result in no change in behavior upon testing unfortunately… If it helps any, I’m following a Youtube video for the logic setup, and I believe I have followed it accurately, specifically going over the parameter driver logic. They get it to work, though something has bugged me that they have a slightly different UI for the parameter driver despite me being on the same version of the SDK and everything… Maybe there’s something else funky with the SDK going on? I have the video attached at the bottom.

The image here is what my parameter driver looks like; highlighting the different UI underlined in red, and the description is in one big block of information above the driver settings:
image

And this is what their parameter driver UI looks like, and it’s missing the [Add, Up, Down, Delete] buttons, and the description of what it does being in two separate information boxes above the settings:
image
Not sure what that means, but it looks like they’re using a different version of the SDK or Unity, or I’m using a different verison, but I checked their unity window in the video, and we have the same version… no clue if that is a big deal or not, but hopefully that helps.

Video:
.VRChat - Grab your props with Avatar Dynamics ! - YouTube
Apparently the video can’t be embedded properly on the website, but if you copy/paste the link, it should work.

Hmm… yeah, mine looks like yours:

ooo! So here’s a thing that occurred to me…

Are you using the Companion Creator utility to create your Unity projects?
I used it to create my Avatar project and have been using it to also keep my SDK and accessory versions up to date.

My SDK Base version is 3.1.10
My SDK Avatars is 3.1.10

Maybe if you haven’t used the Companion Creator, you could give that a try and migrate your current project over and see if maybe is installs something that you’re missing.

I don’t think I am. I don’t believe I’ve heard of the companion creator before :0
Would you mind sending me the link to the website or file?

Is it some kind of VRChat SDK API? Or is it on Unity’s end?

Sure! You can get to it in your Downloads area when you log into your profile on VRChat. com here:

After you install it, it will auto-generate Avatar or World projects for you using the latest SDK’s:

You can also ‘Add’ your own project to it, but I don’t know if it will update your packages automatically or not. Once you have a project created, it will show up in your Projects list and show you all the SDKs for that project and allow you to update them if they’re out of version in the future. You can also open your projects from there too, which just launches Unity with your project:

Hopefully it will import/add something that you might be missing. It’s a shot in the dark without actually having your project in-hand to try to examine all the pieces and try to debug.

I really hope this helps! :3

Ha! Creator Companion… little Freudian slip there on my part. :stuck_out_tongue: