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
[Worlds 3.5.0] VRCSDK may reset VRC Default World Scene
Description Modifications to the VRC Default World Scene will be reset silently (without any confirmation). In VRCSDK Worlds 3.5.0, VRC Default World Scene template is added and VRC Default World Scene based on the template is created if no scene is existing in the Assets folder. However, because AssetDatabase.FindAssets returns an empty array on [InitializeOnLoad] , if AssetDatabase cache is missing, Worlds Sample Scene will be created even if scenes are in the Assets folder. In addition, Since SceneTemplateService.Instantiate will override the existing scene silently, modifications to Assets/Scenes/VRCDefaultWorldScene.unity will be reverted. This problem is very problematic because AssetDatabase cache is missing when restoring a project from backup. Backup created by VCC will not include Library folder, so the first startup of Unity doesn't have AssetDatabase cache. Steps to Reproduce Create and open VRCSDK Worlds 3.5.0 project Modify VRCDefaultWorldScene and save Close Unity Remove Library folder Reopen project Modifications to the VRCDefaultWorldScene are reverted. Suggestions Currently, In the VRCSceneTemplateInitializer.cs , AssetDatabase.FindAssets is called on the [InitializeOnLoad] and Instantiated scene in delayCall. I confirmed moving AssetDatabase.FindAssets into delayCall will fix this problem. In addition, I think it’s better to just instantiate VRCDefaultWorldScene template without saving a scene for several reasons. (I mean pass null for third parameter of SceneTemplateService.Instantiate ) First, saving to the exactly same path will cause to unexpectedly override our scene on importing unity package. Many VRChat creators don’t understand unity much. Some (especially for beginners) creators use Assets/Scenes/SampleScene.unity of the initialized unity project for contents creation. However, since the GUID of the SampleScene is exactly the same for all projects in the world, It’s happening to replace modified SampleScene.unity (or renamed ones) with SampleScene.unity from unitypackage unexpectedly. (GUID of VRCDefaultWorldScene.unity is different for each project, but the path is the same, so It is still likely to override VRCDefaultWorldScene.unity unexpectedly.) Users should be aware of which file is included in unity package, but I think it’s good to avoid this problem. Secondly, not saving to disk initially will force creators to think about where the scene is. As mentioned above, beginner VRChat creators do not know about scenes, and I often see them confused when a previously opened scene does not reopen upon startup. I think letting creators think about scenes is good. not save default scene automatically, just open in-memory scene on the startup and let users save a scene manually because it lets users know something is saved to file. Conclusion Modifications to the VRC Default World Scene will be reset silently, so please fix the problem. This problem is very problematic because VRC Default World Scene will be reset silently when restoring the project from backup. As one of the ways to fix this problem, I think it might be good to let creators choose the scene path manually instead of automatically save to Assets/Scenes/VRCDefaultWorldScene.unity .
8
·
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
Load More