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
[1854] In local world testing, launching multiple clients causes the second and subsequent clients to freeze on a black screen
〇 Environment OS: Windows 11 Pro 25H2 Build 26200.8457 Unity: 2022.3.22f1 VRCSDK: 3.10.3 〇 Summary When performing local world tests using Build & Test Your World or Test Your Last Build, launching multiple clients simultaneously may cause the second and subsequent clients to become stuck on a black screen. Launching clients with a delay between each instance can partially mitigate the issue. 〇 Steps to Reproduce Open the VRChat SDK in Unity. Run Build & Test Your World or Test Your Last Build. Launch multiple clients at the same time. The second and subsequent clients may remain stuck on a black screen and fail to proceed. 〇 Additional Reproduction Conditions Based on investigation, this issue appears to be indirectly related to log output. The issue occurs consistently under the following conditions: Disable debug log output for the client. Launch the first client. Launch the second and subsequent clients. The additional clients will consistently become stuck on a black screen. 〇 Possibly Related Issue A potentially related issue, also suspected to be caused by log output, was observed: When two clients are running in a local test and are in the same world, performing a rejoin from one client causes VRChat to crash. After this occurs, VRChat will continue to crash consistently when rejoining the same world, even when running only a single client. This issue can be resolved by deleting the log files in the following directory: %HOMEPATH%\AppData\LocalLow\VRChat\VRChat 〇 Suspected Cause It is likely that a deadlock or similar resource contention involving log files is occurring, causing clients to freeze or crash. 〇 Expected Behavior All clients should launch and enter the world normally when running multi-client local tests. Rejoining a world should not cause crashes regardless of log file state. 〇 Actual Behavior The second and subsequent clients may freeze on a black screen when launched simultaneously. Under certain conditions, rejoining a world causes VRChat to crash persistently until log files are deleted. 〇 Notes This issue significantly impacts local multi-client testing workflows and should be addressed with high priority.
2
·
Bug Report
·
tracked
Bug Report: NotImplementedException on "Copy Udon name" in Udon Sharp Class Exposure Tree
NotImplementedException on "Copy Udon Name" ## Overview When using the VRChat SDK, right-clicking a class in the Class Exposure Tree and selecting Copy Udon name triggers a NotImplementedException . This occurs because the method responsible for computing and returning the Udon name is not yet implemented. ## Environment VRChat SDK Version: 3.8 (World and Base) ## Relevant File UdonTypeExposureTree.cs ## Key Methods Involved ** UdonTypeExposureTreeView.GetMemberUdonName ** Supposed to compute and retrieve the Udon name, but is currently unimplemented. ** UdonTypeExposureTreeView.OnClickCopyUdonName ** Handles the "Copy Udon name" context menu action. ## Steps to Reproduce Open Unity Editor: Launch the Unity Editor with VRChat SDK version 3.8 (World and Base) installed. Access the Menu: Navigate to VRChat SDK > Udon Sharp > Class Exposure Tree . Load the Window: Allow the Class Exposure Tree window to load completely. Select a Class: Click to select any class from the list. Right-Click Action: Right-click the selected class to open the context menu. Copy Udon Name: Choose the Copy Udon name option from the context menu. Error Occurrence: The Unity Editor displays a NotImplementedException error message, indicating that the feature is not fully implemented. ## Proposed Implementation I created a custom implementation to address this issue. You can review my implementation here .
1
·
Bug Report
·
tracked
Type referenced by 'VRCUdonUdonBehaviourArray' could not be resolved.
Getting lots of these errors in the unity console. Here are some simple steps to reproduce the errors. Create new unity project in 2019.4.31f1 import latest VRC SDK for worlds (VRCSDK3-WORLD-2021.11.24.16.19_Public) open Udon Example Scene select any object in the hierarchy create a new udon behavior component open the udon graph add a variable for an UdonBehavior[] add a reference to the new variable in the graph add the array get graph node TypeResolverException: Type referenced by 'VRCUdonUdonBehaviourArray' could not be resolved. VRC.Udon.UAssembly.Assembler.UAssemblyAssembler.CreateUninitializedDataVariable (System.String dataVariableName, System.String typeString) (at <b45aa2c5f8b540baba60e42ec85f5c1c>:0) VRC.Udon.UAssembly.Assembler.UAssemblyAssembler.VisitDataDeclarationStmt (VRC.Udon.UAssembly.Parser.Stmt+DataDeclaration stmt) (at <b45aa2c5f8b540baba60e42ec85f5c1c>:0) VRC.Udon.UAssembly.Parser.Stmt+DataDeclaration.Accept (VRC.Udon.UAssembly.Parser.Stmt+IVisitor visitor) (at <b45aa2c5f8b540baba60e42ec85f5c1c>:0) VRC.Udon.UAssembly.Assembler.UAssemblyAssembler.VisitBlockStmt (VRC.Udon.UAssembly.Parser.Stmt+Block stmt) (at <b45aa2c5f8b540baba60e42ec85f5c1c>:0) VRC.Udon.UAssembly.Parser.Stmt+Block.Accept (VRC.Udon.UAssembly.Parser.Stmt+IVisitor visitor) (at <b45aa2c5f8b540baba60e42ec85f5c1c>:0) VRC.Udon.UAssembly.Assembler.UAssemblyAssembler.Process (VRC.Udon.UAssembly.Parser.Stmt statement) (at <b45aa2c5f8b540baba60e42ec85f5c1c>:0) VRC.Udon.UAssembly.Assembler.UAssemblyAssembler.Assemble (System.String assembly) (at <b45aa2c5f8b540baba60e42ec85f5c1c>:0) VRC.Udon.EditorBindings.UdonEditorInterface.Assemble (System.String assembly) (at <1963e50294534d109b013282bf0faf6c>:0) VRC.Udon.Editor.UdonEditorManager.Assemble (System.String assembly) (at Assets/Udon/Editor/UdonEditorManager.cs:347) VRC.Udon.Editor.ProgramSources.UdonAssemblyProgramAsset.AssembleProgram () (at Assets/Udon/Editor/ProgramSources/UdonAssemblyProgram/UdonAssemblyProgramAsset.cs:82) UnityEngine.Debug:LogException(Exception) VRC.Udon.Editor.ProgramSources.UdonAssemblyProgramAsset:AssembleProgram() (at Assets/Udon/Editor/ProgramSources/UdonAssemblyProgram/UdonAssemblyProgramAsset.cs:90) VRC.Udon.Editor.ProgramSources.UdonAssemblyProgramAsset:RefreshProgramImpl() (at Assets/Udon/Editor/ProgramSources/UdonAssemblyProgram/UdonAssemblyProgramAsset.cs:36) VRC.Udon.Editor.ProgramSources.UdonGraphProgram.UdonGraphProgramAsset:RefreshProgramImpl() (at Assets/Udon/Editor/ProgramSources/UdonGraphProgram/UdonGraphProgramAsset.cs:62) VRC.Udon.Editor.ProgramSources.UdonProgramAsset:RefreshProgram() (at Assets/Udon/Editor/ProgramSources/UdonProgram/UdonProgramAsset.cs:106) VRC.Udon.Editor.ProgramSources.UdonProgramAsset:RunEditorUpdate(UdonBehaviour, Boolean&) (at Assets/Udon/Editor/ProgramSources/UdonProgram/UdonProgramAsset.cs:82) VRC.Udon.UdonBehaviour:RunEditorUpdate(Boolean&) (at Assets/Udon/UdonBehaviour.cs:200) VRC.Udon.Editor.UdonBehaviourEditor:OnInspectorGUI() (at Assets/Udon/Editor/UdonBehaviourEditor.cs:164) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) NullReferenceException: Object reference not set to an instance of an object VRC.Udon.Editor.ProgramSources.UdonProgramAsset.DrawInteractionArea (VRC.Udon.UdonBehaviour udonBehaviour) (at Assets/Udon/Editor/ProgramSources/UdonProgram/UdonProgramAsset.cs:122) VRC.Udon.Editor.ProgramSources.UdonGraphProgram.UdonGraphProgramAsset.DrawProgramSourceGUI (VRC.Udon.UdonBehaviour udonBehaviour, System.Boolean& dirty) (at Assets/Udon/Editor/ProgramSources/UdonGraphProgram/UdonGraphProgramAsset.cs:48) VRC.Udon.Editor.ProgramSources.UdonProgramAsset.RunEditorUpdate (VRC.Udon.UdonBehaviour udonBehaviour, System.Boolean& dirty) (at Assets/Udon/Editor/ProgramSources/UdonProgram/UdonProgramAsset.cs:85) VRC.Udon.UdonBehaviour.RunEditorUpdate (System.Boolean& dirty) (at Assets/Udon/UdonBehaviour.cs:200) VRC.Udon.Editor.UdonBehaviourEditor.OnInspectorGUI () (at Assets/Udon/Editor/UdonBehaviourEditor.cs:164) UnityEditor.UIElements.InspectorElement+<>c__DisplayClass58_0.<CreateIMGUIInspectorFromEditor>b__0 () (at <a259d3c004024353a2c217da97495055>:0) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
2
Load More