SDK Bug & Feature Requests

Please check out the following rules and use the provided template when posting a bug report! Off-topic posts will be deleted.http://bit.ly/vrchat-bug-reports
"Freeze to world" on constraints won't turn off and on again correctly if the constraint was turned on in the same frame
Following up https://feedback.vrchat.com/sdk-bug-reports/p/freeze-to-world-on-constraints-will-always-bake-offsets-if-there-are-0-sources A parent constraint with "Freeze to world" enabled before the object containing it is on is turned off will not properly snap back when "Freeze to world" is disabled if it happens on the same frame that the object is turned back on, if "Freeze to world" is re-enabled a frame later. Repro: Two objects, X (i.e. the avatar's armature) and Y (droppable) Parent constraint on object Y has a single source to X, zeroed. A toggle is linked to two animations: * False = Object Y is turned off (2 keyframes, both are the same, animation duration is 0.017). * True = Object Y is turned on, "Freeze to world" is disabled on keyframe 0, enabled on keyframe 1 (animation duration is also 0.017) Assumption would be that because the parent constraint "freeze to world" is turned off, it would make object Y snap back to object X. This works in the editor , but does NOT work in game. A further observation was then made - adding a 3rd keyframe ("keyframe 2", animation duration 0.033) that is a copy of "keyframe 1" (object on, freeze on) made it work in game, but removing "keyframe 1" (so the animation duration is simply longer) did not solve it, it appears that for whatever reason the duplicated keyframe is necessary for the expected unfreeze/freeze snap to work in game.
1
·
Bug Report
·
tracked
Android build and test not working
Followed the this https://creators.vrchat.com/platforms/android/build-test-mobile/ but it fails to lunch vrchat on my phone after building it even puts the file on my phone so i know for sure adb is working and getting this in my editors console and tried this with 2 different world projects now AdbException: ADB failed with exit code 1. StdOut:Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.vrchat.mobile.playstore/com.vrchat.app.MainActivity (has extras) } StdError:Error type 3 Error: Activity class {com.vrchat.mobile.playstore/com.vrchat.app.MainActivity} does not exist. VRC.SDK3.Editor.Builder.ADB.Command (System.String[] arguments) (at <8c33ac67c14b4f31a7515261397206c6>:0) VRC.SDK3.Editor.Builder.ADB.StartVRChatIntoWorld (System.String remoteBundleFilePath, System.String appPackageName) (at <8c33ac67c14b4f31a7515261397206c6>:0) VRC.SDK3.Editor.Builder.VRCWorldAssetExporter.RunWorldTestAndroid (System.String bundleFilePath) (at <64d127784e7f4289a5a7ffbe49df807e>:0) VRC.SDK3.Editor.Builder.VRCWorldAssetExporter.RunScene (System.String bundleFilePath) (at <64d127784e7f4289a5a7ffbe49df807e>:0) Rethrow as WorldAssetExportException: An ADB command failed to execute. Check the console for more details. VRC.SDK3.Editor.VRCSdkControlPanelWorldBuilder.Build (System.Boolean runAfterBuild) (at ./Packages/com.vrchat.worlds/Editor/VRCSDK/SDK3/VRCSdkControlPanelWorldBuilder.cs:2576) VRC.SDK3.Editor.VRCSdkControlPanelWorldBuilder.BuildAndTest () (at ./Packages/com.vrchat.worlds/Editor/VRCSDK/SDK3/VRCSdkControlPanelWorldBuilder.cs:3282) VRC.SDK3.Editor.VRCSdkControlPanelWorldBuilder.OnBuildAndTestAction () (at ./Packages/com.vrchat.worlds/Editor/VRCSDK/SDK3/VRCSdkControlPanelWorldBuilder.cs:2147) System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) (at <27124aa0e30a41659b903b822b959bc7>:0) UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () (at <cb81df0c49c643b1a04d9fc6ccca2433>:0) UnityEngine.UnitySynchronizationContext.Exec () (at <cb81df0c49c643b1a04d9fc6ccca2433>:0) UnityEngine.UnitySynchronizationContext.ExecuteTasks () (at <cb81df0c49c643b1a04d9fc6ccca2433>:0)
4
·
Bug Report
·
tracked
On Linux, Build and Test doesn't produce a built avatar
OS: Arch Linux (but any Linux would get the same results) Unity 2022.3.22f1 Unity project managed by ALCOM (a cross platform open-source alternative to VCC) VRChat SDK version is 3.8.2 Summary Setting Build Type to Build & Test Your Avatar in the VRC SDK window, then clicking Build & Test does not place the new avatar inside %LocalAppdata%Low\VRChat\VRChat\Avatars (as per documentation ), and it is thus impossible to locally test avatars. Why This happens because that directory does NOT exist on Linux; the virtual C: drive created for VRChat by Steam is inside its specific proton prefix, and as such the right path is more likely to be located near /path/to/SteamLibrary/steamapps/compatdata/438100/pfx/drive_c/users/steamuser/AppData/LocalLow/VRChat/VRChat/Avatars/ . This path is not right for every VRChat installation, because Steam allows for multiple game drives. Solutions I see two potential solutions; one of them requires fewer changes and is less practical for users : After building an avatar for testing, if the environment is Linux, provide users the path to the compiled avatar asset so that they can move it over to the right folder manually If the environment is Linux, inside the VRC SDK window, in the settings tab, add possibility to set the path to either the root of the virtual C: drive, or just to the folder where the user wants to export their testing avatars Please, please do ask more info if you need it, I will happily provide them, and I'd be happy to see this bug fixed I have found the location, it is inside .local/share/VRChat/VRChat/Avatars/, I have not seen that documented anywhere, maybe updating the docs would be nice... ~~Also if you just give me the path to the compiled avatar I'd be happy, I really wanted to test it out so...~~ Also, I would gladly fix it myself if the sdk was open source... is that planned ? Is it forbidden, in the meantime, to go and decompile and fix stuff for myself ? What about publishing fixed dlls ?
9
·
Bug Report
·
tracked
Proposal for fixing Audio Filters (eg low-pass) support for AVPro
I believe it is time to get a solution to the most plaguing issue (in my opinion) of AVPro: Audio Filters I do not think this is a "can't fix" situation. In this proposal I will go over the problem, considerations that have been discussed historically, and the solution I believe is feasible to implement with working sample code. ### Previous Cannys 1) https://feedback.vrchat.com/open-beta/p/986-avpro-player-ignores-lowpass-reverb-and-other-filters 2) https://feedback.vrchat.com/sdk-bug-reports/p/avpro-video-player-audio-filter-issue 3) https://feedback.vrchat.com/sdk-bug-reports/p/sound-effects-are-not-applied-to-audiosource-using-avpro-that-comes-with-sdk3 4) https://feedback.vrchat.com/feature-requests/p/usharpvideo-stream-audio-does-not-support-filters ### Crux of the issue As previously discussed in above canny #1, the current way of handling the AVPro speaker component (type named AudioOutput ) is that the component is implicitly created via AddComponent on the same game object. This has the critical drawback of being unable to respect any audio filters due to the DSP filter chain being _component order dependent_. The second half of this issue is that Unity has no runtime native way to change the ordering of components without fully reconstructing the references. This causes very obvious issues in regards to dependent scene references. (TCL's comment in canny #1 clarifies this as well) ### What has been considered Detecting and destroying/rebuilding known filter components after the implicit component is added. This is bad because all scene references to those components would be lost (eg: UI Events or public Udon variables). To avoid the lost components issue, a full scene search would be required in order to update the references which is costly and fragile. Placeholder components (shims) for each filter type that gets implicitly created after the implicit AudioOutput This is bad because it does not allow users to reference the actual filter components in the inspector (namely an issue for UI Events) Allow adding the AudioOutput script manually in scene and have the speaker search for it before trying to implicitly add the component. This is bad because it requires that the user import the AVProTrial package to be able to use built-in unity audio filters. This needs to be compatible with situations where the user does not wish to import that package so the dependency is decoupled from the feature itself. ### Proposed Solution A shim script that inherits from the AudioOutput class combined with a compiler flag for detecting if AVPro is present, and if not, then have a stub type of the _same namespace and type name_ which is _ONLY_ present in the sdk. Then update the VRCAVProVideoSpeaker to check for the existence of the shim component before creating an implicit AudioOutput, using it instead if found on the game object. This ensures that when the main shim script is loaded in editor, it is already a valid AudioOutput component and the component order is correctly retained so the Audio Filters will work correctly. In the SDK, the script type will check for the existence of AVPro through a version define, and if NOT present, will enable the AudioOutput stub class of the same namespace. An example of what it might be like: https://gist.github.com/techanon/41efc336604e148dde55862bff1778d9 I've tested this specific example in editor and it works there. Can't test in-client obviously.
24
·
tracked
Load More
→