500 errors from the VRChat API are not surfaced in the SDK console log
bd_
When the VRChat API serves a 500 API while uploading an avatar, the only error reported is a generic "Application error" exception. No entry in the log clearly indicates that a server-generated 500 error was the cause, unless API Logging is enabled (which contains URLs which probably shouldn't be shared widely).
This can cause a lot of difficulty in understanding why an upload is failing; the SDK should clearly call out in the logs 4xx or 5xx errors from the API, and should surface these in the upload failed message.
Log In
bd_
Here's an example of an unhelpful log where 500s from the VRChat API were the root cause: https://gist.github.com/bdunderscore/071cdff72b0b682e32a047c6e0a21970