Guribo / UdonVoiceUtils

Tools/Components for UDON (VRChat) based worlds. Includes private channels, reverb, auto player range adjustment, etc. for player voices.
https://guribo.github.io/TLP
MIT License
147 stars 4 forks source link

Current Prefabs Don't Work? #12

Closed owlboy closed 1 year ago

owlboy commented 1 year ago

It seems modern UdonSharp/VRCSDK has an issue "upgrading" the Prefabs that come in this release. This resets all settings and generally seems to break the script when entering Play Mode.

Rebuilding from the prefab in your scene from scratch appears to work fine.

[UdonSharp] Encountered exception while upgrading scene behaviour BetterPlayerAudioController (Guribo.UdonBetterAudio.Runtime.BetterPlayerAudio), exception: System.InvalidCastException: Specified cast is not valid.
Guribo commented 1 year ago

I am aware and it was also the reason why i recently recommended against attempting to use this outdated version. The new version will be released in a bit and will be compatible with the creator companion. I am still figuring out how to set that up atm.

owlboy commented 1 year ago

Makes sense!

EDIT: Turns out I had that prefab issue going on. And it was combined with some other issues that were my fault. – I look forward to the next release.

Guribo commented 1 year ago

TLP.UdonVoiceUtils_PreRelease_v1.0.0_RC1.unitypackage.zip Can you give this a try? Make sure to make a backup of your project first

  1. remove the Guribo folder
  2. import
  3. restart Unity (it will complain about compiler errors otherwise which is a false positive)
  4. check the demo scene: Packages/tlp.udonvoiceutils/Runtime/Scenes/PrivateZones/PrivateZones.unity

My Utilities and the Audio stuff has moved to the Packages folder, all of my stuff can be found int TLP.* folders

Flare26 commented 1 year ago

I'll give it a try as well. I've been ignoring the prefab error as the main functions of your package are intact, I'll try some test versions with your release candidate and see how things go

owlboy commented 1 year ago

@Guribo With this package, and dropping in the PlayerAudioController Prefab, I get these errors in the console when entering Play Mode with and without ClientSim running. My SDK is up-to-date as of right before 3.3.0, the major update just released.

image

Apologies if I am not executing basic usage correctly. I was successful in using the 0.8 release over the weekend once I rebuilt the prefab from scratch and correctly configured my occlusion. As far as I can tell, I am replicating what worked for me in 0.8 with the 1.0 package you provided here.

Oh! And the prefab has the Update rate defaulted to 1. Not sure if that is intentional. (The old prefab was not configured this way.)

Guribo commented 1 year ago

Search for tlp in the project window (select all or packages) and drag the TLP_Logger prefab into your scene. Hover with the mouse over the update rate to get a tooltip/explanation.

owlboy commented 1 year ago

I should be able to test this more next week.

As far as the note about update rate, I was more so reporting the difference. The old prefab defaults to 40. IIRC. I was aware of the tooltip and what the feature is for.

Side note: I implemented v0.8 in The Great Pug today after a successful test in The Vantage last weekend.

owlboy commented 1 year ago

I had a chance to hang out in a public pug and listen and test tonight. It works really well. I was in the Unity 2022 beta too. The busy instance performed really well for me.

Flare26 commented 1 year ago

Here's what I get in the playmode emulator and in test build. image I do not use the optional control panel in my world so if that's whats causing this error then I suppose there's nothing to worry about

Guribo commented 1 year ago

Here's what I get in the playmode emulator and in test build. image I do not use the optional control panel in my world so if that's whats causing this error then I suppose there's nothing to worry about

make sure the controller references a uicontroller too, use a dummy if you don't use my menu

Guribo commented 1 year ago

I had a chance to hang out in a public pug and listen and test tonight. It works really well. I was in the Unity 2022 beta too. The busy instance performed really well for me.

i visited it and i think you set it up really nice!

Flare26 commented 1 year ago

Update, got the new version to work proper after deleting all prefabs in the scene from the old version, did a fresh setup by side-loading the PrivateZones scene and extracting the AudioSystems object into the main scene, building off of that. So far so good, about to have a proper stress test of it tonight!

So basically, I had some trouble upgrading my existing setup and it may be easier for people to just do a fresh setup like I just did.

Flare26 commented 1 year ago

Here is an update after the test tonight! This was on 1.0 RC version. Overall great success, we maxed out at about 30 people. Started noticing some lag spikes and performance drops above 20 people. Checked the logs, and I found debug was returning player numbers way higher than the number of player we had in the world at any given time. As seen in the screenshot I will attach, it was logging player # 60 and beyond all the way up to 80 by the end of the night. Never had that many people in the world at one time so this was confusing. Not sure if this behavior is expected but I figured I would post and describe the context, as there may be some issue causing memory to be eaten up as new players joined. I hope this helps if you require additional details I can do my best to provide them! giribo debug

Guribo commented 1 year ago

Those are player ids, when a player rejoins they get the next highest one. The performance shouldn't really be affected unless you set the TlpLogger verbosity to Info or Debug. Also check if in the player settings there is a custom compilation definition called TLP_DEBUG. That should be removed and could be from the previous version. It is only used to remove debug logs entirely from the code before upload (when it doesn't exist in the definitions). I will provide a new unity package soon, the one i posted here was missing some essential files.

Guribo commented 1 year ago

@Flare26 regarding lag spikes: there is now a dedicated report for that https://github.com/Guribo/UdonVoiceUtils/issues/14

As @owlboy's issues seem to be resolved for now I will be closing this issue now. If there is new issues please create new tickets.