Bug Reports

  • No off-topic posts
  • Don't report more than 1 issue at once
  • For isolated issues or customer support visit help.vrchat.com
Thanks for your bug report!
Client freezes with String Loading
Summary: Client freezes when using String Loading under certain conditions. Phenomenon: When downloading a binary file using StringLoading, the VRChat client freezes for about 1 second immediately after the download (just before OnStringLoadSuccess is called). The size of the binary file at this time is 44MB. The freeze time is proportional to the file size. Comparison: Unlike the binary file, the freeze does not occur when a text file is downloaded. The size of the text file is 59 MB. Terminology explained here: Binary file: A file whose characters cannot be decoded as UTF8. Text file: A file whose characters can be decoded as UTF8. Test worlds: You can test the failure in the following worlds. The worlds have two buttons to download binary files and text files, and an image of the U# code (also attached this post). (The left button does not cause the freeze. The right button does.) https://vrchat.com/home/world/wrld_491e05ae-11f3-4173-b2bd-ba00f3e9ed47 Backgrounds: The gimmick I create often handle about 50MB of data. The gimmick downloads the data as text files currently. Binary data is processed by converting it to Base64 strings. However, if the binary data could be handled as is, it would be very useful because it would reduce the amount of space and remove Base64 processing. Therefore, I tried downloading the binary file and changing it to read in ResultBytes, but this caused a freeze. This freeze is not acceptable for world users, and until it is fixed, I cannot handle binary data processing directly. Suggested fix: My guess is that the problem is occurring because stringify the binary file is running just before OnStringLoadSuccess is called. Therefore, I propose two ways to solve this problem. Do not stringify the binary data (Encoding.UTF8.GetString()) until calling result.Result. In other words, if only result.ResultBytes is called, the stringify is not performed. Do the stringing process in a new thread, not in the main thread of VRChat.
Load More