"Failed to build the World" on blank new project

hi, I haven’t built a world in a long time and a bunch of stuff has changed such as the introduction of VCC. I couldn’t make VCC work properly, since the window would immediately crash upon startup, but using the CLI I was at least able to download the templates. I then manually copied a template folder to start off as project folder and then installed the VRChat SDK package into it in unity manually. I plopped down a few objects and created some materials, everything first seems to work fine in the in-unity preview player where I can move around.

However, now I want to try and upload it to VRChat and I get a Build Failed error:

screenshot

and in the console:

I’m thinking the only error that may be relevant here is “AssetBundle was not built”, however its stacktrace also doesn’t tell me a lot of information:

[Always] AssetBundle was not built
UnityEngine.Debug:LogError (object,UnityEngine.Object)
VRC.Core.Logger:LogError (string,VRC.Core.DebugLevel,UnityEngine.Object)
VRC.SDK3.Editor.Builder.VRCWorldAssetExporter:ExportCurrentSceneResource (bool,System.Action`1<string>,System.Action`1<object>)
VRC.SDK3.Editor.Builder.VRCWorldBuilder:ExportSceneResourceInternal (bool)
VRC.SDK3.Editor.Builder.VRCWorldBuilder:ExportSceneResource ()
VRC.SDK3.Editor.Builder.VRCWorldBuilder:ExportSceneResourceAndRun ()
VRC.SDK3.Editor.VRCSdkControlPanelWorldBuilder/<Build>d__114:MoveNext () (at ./Packages/com.vrchat.worlds/Editor/VRCSDK/SDK3/VRCSdkControlPanelWorldBuilder.cs:2026)
UnityEngine.UnitySynchronizationContext:ExecuteTasks () (at /home/bokken/build/output/unity/unity/Runtime/Export/Scripting/UnitySynchronizationContext.cs:107)

where the source line is just the VRC_SdkBuilder.RunExportSceneResourceAndRun(); call.

I had working world exports before, but that’s quite a while ago and now I don’t remember if I did it natively on Linux or if I used unity in wine back then, since the Linux version of Unity used to be quite buggy and experimental at that point.

This is using

Unity 2022.3.6f1 (LTS)
  with Windows Build Support (Mono)
  and Linux Build Support (IL2CPP)
Unity Hub 3.6.1 (60ffef8) <- although I doubt this is relevant
vpm 0.1.22 (but only the downloaded template used from it, since the project creation didn't work)

I would share the project folder but it’s 1.3 GB even though there is almost nothing in there, so I don’t really want to do that.

Any ideas how to fix this?

Edit: this also happens if I try with a completely blank project and manually add the VRChat world objects and settings without the template.

Thanks,
WebFreak

2 Likes

I would probably say that the installation of the vrchat sdk package is corrupted and that you either need vcc through GUI or CLI to install the dependency in a cleaner way.

If you create a project from vcc and then try to upload it, do you get the same issue ?

vcc (GUI) doesn’t work as mentioned in my post. Probably using APIs that are not yet supported in wine / proton.

This is on Linux

I have same issue on SDK 3.5.0

+1 (also 3.5.0)
I even tested with the SDK-Provided VRCDefaultWorldScene.

Can you update to 3.5.1 and try again? There were some fixes in that SDK.

Happens on 3.5.1 too.

Edit: I have made a new separate test project. I simply made a new project in the UnityHub, added com.vrchat.worlds, opened the scene Packages/com.vrchat.worlds/Editor/VRCSDK/SDK3/VRCDefaultWorldScene.unity and tried to upload the project.


(the warnings are probably just me trying to upload a scene directly from the Packages folder)

another thing to note is, that the path is a fake one and that I’m using unity via the flatpack. (Using unity from nixos’s package manager does not work for me. Yes I use NixOs.)

Running this persons post through google translate mentions creating a symlink for the scene file: GNU/Linux上で、VRChatプロジェクトをUnity 2022.3.6f1に更新するためのガイド - 半透明狐人間のブログ

So I guess there’s some weird case-sensitivity differences between the Windows/Linux unity. Going into ~/.var/app/com.unity.UnityHub/cache/tmp/DefaultCompany/$project/ and creeating a symlink scene-StandaloneWindows64-scene.vrcw -> scene-standalonewindows64-scene.vrcw does allow me to upload worlds now.