I am setting TeamSpeakClient.SystemSet3DListenerAttributes for the current user and TeamSpeakClient.ChannelSet3DAttributes for multiple users as well as adjusting the distance and rollOffScale settings with TeamSpeakClient.SystemSet3DSettings, but nothing I change seems to spatialize the voice.

I think the issue lies in the TeamSpeakInterface class passing the TS3_VECTOR objects to the dll.
ts3client_systemset3DListenerAttributes for example uses the out keyword to pass the variable to the dll, I don't see how this can work. It should be using the ref keyword, but there are likely some other Marshalling issues as well, since I tried to just make that change.

If you try to use a value passed to a function with the out keyword, it won't compile in C# (Use of unassigned out parameter Error). out is for returning data, ref is to pass a value by reference.

Please let me know if I'm missing something, would love to get 3D voice working!

Thank you for your time.