VRChatのワールド更新ができなくなって、解決したお話

Unity,VR,VRChat,ゲーム,ソフトウェア,技術

みなさん、VRChatやってますでしょうか?
わたしは全然やっていません。なんで?

さて、先日自分で作ったワールドを更新しよう!
と思ったときに、以下のようなエラーを吐き続けたんですよね……

で、最初に出てきた下記の対応策(SDKの更新)をしてみましたが、特に変わらず……

次に思いついたのが、2バイト文字を含まないディレクトリ変更。
が、これも変わらず(そもそも今まで更新できてたので関係ないと思うんですわ!)

VRChatサポートに助けを求める

もうどうしようもない!と思ったのでVRChatのサポートに助けを求めることにしました。

が、ここで1つトラップ。
VRChatのアカウントではログインできないので、アカウントの作成が必要です。
またVRChatで利用してるメールアドレスと同じじゃないとダメです!!!

で、アカウントを作成したらSubmit a requestから問い合わせをしましょう!

“Your VRChat Username" はVRChatの “Display Name" じゃない方だよ。
ログインの時に入力するIDだよ(たぶん)。

内容は基本的に英語で書いた方が良いと思うよ。
私は英語ニガテなのでまずは日本語で書いて、続けて英語でも説明を書いたよ。
あとUnityのバージョンと、SDKのバージョン、そしてワールドのURLも記載したよ。これないとサポートはちんぷんかんぷんだからね。必須だと思うよ。しらんけど。
(私はお仕事でバージョンとか書かない人は地獄に落ちろって思ってるよ。生きる価値ないもんね。)

Unity2018.4.20f1
VRC SDK2021.03.09.13.58
Worldhttps://vrchat.com/home/world/wrld_150ad40a-b896-4c73-b50e-a7114d45c214

[JP]
1. VRChat SDKの"Build&Publish for Windows"をクリック。
2. UnityのGameViewに表示された"Upload"をクリック。
3. "Uploading Asset bundle…"というウィンドウが表示される。
4. 以下のエラーログが延々と表示されアップロードが完了しない。

[EN]
1. click "Build&Publish for Windows" in the VRChat SDK.
2. click "Upload" in Unity&#39s GameView.
3. a window that "Uploading Asset bundle…" will appear.
4. the following error log is displayed and the upload is not completed.

——————————————————–
[637514285418092480] W [HTTPRequest]: Null/empty value for header: Content-Type
UnityEngine.Debug:LogWarning(Object)
BestHTTP.Logger.DefaultLogger:Warning(String, String)
BestHTTP.<>c__DisplayClass237_0:<SendHeaders>b__0(String, List`1)
BestHTTP.HTTPRequest:EnumerateHeaders(OnHeaderEnumerationDelegate, Boolean)
BestHTTP.HTTPRequest:SendHeaders(Stream)
BestHTTP.HTTPRequest:SendOutTo(Stream)
BestHTTP.HTTPConnection:ThreadFunc()
BestHTTP.PlatformSupport.Threading.<>c__DisplayClass4_0:<RunLongLiving>b__0(Object)
System.Threading.ThreadHelper:ThreadStart(Object)

——————————————————–
ApiFile file_6aeb6399-8f06-4b9d-9366-413b52db7dd1: Error: Failed to delete previous incomplete version!
Cannot delete against anything but the latest version of this file˸ 45‚ 44
UnityEngine.Debug:LogError(Object)
VRC.Core.ApiFileHelper:Error(OnFileOpError, ApiFile, String, String) (at Assets/VRCSDK/Dependencies/VRChat/Scripts/ApiFileHelper.cs:1425)
VRC.Core.<UploadFile>d__22:MoveNext() (at Assets/VRCSDK/Dependencies/VRChat/Scripts/ApiFileHelper.cs:422)
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr) (at C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)

——————————————————–
<color=yellow>wrote retry state: {"C:/Users/akasaka/AppData/Local/Temp/DefaultCompany/VRC VERSTECK/wrld_150ad40a-b896-4c73-b50e-a7114d45c214_60_2018.4.20f1_4_standalonewindows_Release.vrcw":"file_6aeb6399-8f06-4b9d-9366-413b52db7dd1", "C:/Users/akasaka/AppData/Local/Temp/DefaultCompany/VRC VERSTECK/wrld_150ad40a-b896-4c73-b50e-a7114d45c214_61_2018.4.20f1_4_standalonewindows_Release.vrcw":"file_6aeb6399-8f06-4b9d-9366-413b52db7dd1", "C:/Users/akasaka/AppData/Local/Temp/DefaultCompany/VRC VERSTECK/wrld_150ad40a-b896-4c73-b50e-a7114d45c214_63_2018.4.20f1_4_standalonewindows_Release.vrcw":"file_6aeb6399-8f06-4b9d-9366-413b52db7dd1"}</color>
UnityEngine.Debug:LogFormat(String, Object[])
VRCSDK2.RuntimeAPICreation:SaveUploadRetryState() (at Assets/VRCSDK/Dependencies/VRChat/Scripts/RuntimeAPICreation.cs:115)
VRCSDK2.RuntimeAPICreation:SaveUploadRetryState(String, String) (at Assets/VRCSDK/Dependencies/VRChat/Scripts/RuntimeAPICreation.cs:104)
VRCSDK2.<>c__DisplayClass34_0:<UploadFile>b__1(ApiFile, String) (at Assets/VRCSDK/Dependencies/VRChat/Scripts/RuntimeAPICreation.cs:261)
VRC.Core.ApiFileHelper:Error(OnFileOpError, ApiFile, String, String) (at Assets/VRCSDK/Dependencies/VRChat/Scripts/ApiFileHelper.cs:1427)
VRC.Core.<UploadFile>d__22:MoveNext() (at Assets/VRCSDK/Dependencies/VRChat/Scripts/ApiFileHelper.cs:422)
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr) (at C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)

——————————————————–
Saved upload retry state to: C:/Users/akasaka/AppData/Local/Temp/DefaultCompany/VRC VERSTECK\f7998ba4470480948ae020a26c0ff7fb\upload_retry.dat
UnityEngine.Debug:Log(Object)
VRCSDK2.RuntimeAPICreation:SaveUploadRetryState() (at Assets/VRCSDK/Dependencies/VRChat/Scripts/RuntimeAPICreation.cs:123)
VRCSDK2.RuntimeAPICreation:SaveUploadRetryState(String, String) (at Assets/VRCSDK/Dependencies/VRChat/Scripts/RuntimeAPICreation.cs:104)
VRCSDK2.<>c__DisplayClass34_0:<UploadFile>b__1(ApiFile, String) (at Assets/VRCSDK/Dependencies/VRChat/Scripts/RuntimeAPICreation.cs:261)
VRC.Core.ApiFileHelper:Error(OnFileOpError, ApiFile, String, String) (at Assets/VRCSDK/Dependencies/VRChat/Scripts/ApiFileHelper.cs:1427)
VRC.Core.<UploadFile>d__22:MoveNext() (at Assets/VRCSDK/Dependencies/VRChat/Scripts/ApiFileHelper.cs:422)
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr) (at C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)

——————————————————–
Asset bundle upload failed: Failed to delete previous incomplete version! (C:/Users/akasaka/AppData/Local/Temp/DefaultCompany/VRC VERSTECK/wrld_150ad40a-b896-4c73-b50e-a7114d45c214_63_2018.4.20f1_4_standalonewindows_Release.vrcw) => [id: file_6aeb6399-8f06-4b9d-9366-413b52db7dd1; name: World – HASH KURENAI BAR – Asset bundle – 2018․4․20f1_4_standalonewindows_Release; mimeType: application/x-world; extension: .vrcw; ownerId: usr_6ecff798-998d-4ffe-b965-57515ffd760f]
UnityEngine.Debug:LogError(Object)
VRCSDK2.<>c__DisplayClass34_0:<UploadFile>b__1(ApiFile, String) (at Assets/VRCSDK/Dependencies/VRChat/Scripts/RuntimeAPICreation.cs:264)
VRC.Core.ApiFileHelper:Error(OnFileOpError, ApiFile, String, String) (at Assets/VRCSDK/Dependencies/VRChat/Scripts/ApiFileHelper.cs:1427)
VRC.Core.<UploadFile>d__22:MoveNext() (at Assets/VRCSDK/Dependencies/VRChat/Scripts/ApiFileHelper.cs:422)
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr) (at C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)

——————————————————–

で、Unityのエラーが写ったスクリーンショットも添付しておこうね。
テキストだけじゃUnity上でどういう感じにエラーが出てるかわかんないもんね。

ユーザー名が見えてる?気のせいだよ(隠す気が無いとも言う)

最後にUnityが保存してくれたログも提出しようね。
C:\Users\NAME\AppData\Local\Unity\Editorに存在するEditor.logだよ。

で、これらを提出したら対応した報告が来るまでお茶でも飲んでましょう。

今回は7時間で解決しましたね!!

メモ

たぶんあそこまで詳しい情報は不要だったかもしれません。
サポートにとってはああ、いつものやつかみたいな。
でも備えあれば憂いなしって言うし、困ることはないので丁寧に質問を投げると良いですよ。
(主にサポートする側がとても楽になるし嬉しい限りです)