lvra.gitlab.io/content/docs/vrchat/unity.md

5.6 KiB

weight title
900 Unity

Unity

This article will take you through installing Unity Hub, Unity, and ALCOM (the FOSS alternative to VRChat Creator Companion).

Set up UnityHub

Download the UnityHub AppImage. Run the AppImage like you normally would.

Running UnityHub from Flatpak is also still an option, but it seems ALCOM has better integration with the AppImage.

First, take a look at this page from the official VRChat docs about how to install the supported Unity version from UnityHub. We'll do something similar.

  1. Open Unity Hub and sign in with your Unity account.
  2. Install 2022.3.22 (VRChat's current supported Unity version, at the time of writing) by running ./UnityHub.AppImage unityhub://2022.3.22f1/887be4894c44.
  3. When prompted, select Android Build Support and Windows Build Support (Mono).

ALCOM

vrc-get is a native FOSS package manager written in Rust. Its GUI counterpart was formerly known as vrc-get-gui, but has been rebranded as ALCOM (Alternative Creator Companion).

  1. Download the AppImage from the latest "gui" release. Pick the file named alcom-<some version>-x86_64.AppImage.
  2. Run the AppImage.
  3. In the settings tab, under Unity Hub Path, point it to your UnityHub.AppImage.
  4. Create a new project and open it.
  5. Go to VRChat SDK -> Show Control Panel and dock it to the main window.
  6. It may open windows partially offscreen. If this happens, see this section below.

Now you should be able to create and upload avatars and worlds like you normally would.

Troubleshooting

Worlds: AssetBundle was not built

This error is caused by VRCSDK build incorrectly expecting a mixed-case AssetBundle filename, while Unity outputs a lowercase filename, which fails a file existence check and causes the SDK to abort the build.

To fix this, import WorldSDKPatcher.unitypackage: https://github.com/thegu5/VRCSDKonLinux/releases

Shaders fail to include some .cginc files

This can happen with Poiyomi. It's caused by case-sensitivity. You may need to edit the shader files directly. Open them in any text editor, and correct the casing of filenames.

Editor windows appear partially offscreen

Unity may open undocked panel windows (such as color pickers and unitypackage import dialogs) partially offscreen.

Some workarounds:

  • For KDE, hold the Meta key and click anywhere in the window to drag it back onscreen.
  • Alt-Tab to the specific window, then press Meta-Right to snap the window to the right side of the screen.
  • For KDE, press ALT+F3 -> More Actions -> Move.

Drag-and-drop does not work

Rather than using Assets -> Import New Asset or Import Package, it's normally possible to drag-and-drop a unitypackage or other asset from a file browser directly into Unity's Project pane, where it will be copied to the Assets folder.

However, if your file browser is running on Wayland, this will show "Failed copying file" errors.

See issue flathub/com.unity.UnityHub#97.

As a workaround, launch your file browser in Xwayland mode. Unity will accept the file as it should.

WAYLAND_DISPLAY="" dolphin

VRCFury builds lock up the editor

Maybe due to the windows offscreen issue mentioned above, when starting build or play mode, the VRCFury progress window may initially be invisible, or pop underneath, which gives the appearance that the build isn't doing anything and has locked up. Use the "Alt-tab to the specific window then Meta-Right" trick to get the VRCFury progress window to appear onscreen again. That window may also be solid black, but this doesn't necessarily mean the build has frozen.

Moving file failed

A dialog may appear upon trying to build an avatar, where none of the buttons are helpful:

Moving Temp/unitystream.unity3d to /tmp/DefaultCompany/Some Avatar Project/prefab-id-v1_avtr_00000000-0000-0000-0000-000000000000_0000000000.prefab.unity3d:

Force Quit | Try Again | Cancel

This seems to happen consistently if the projects are stored on an EXFAT partition. Consider using another filesystem, such as NTFS if you still need projects accessible under both Windows and Linux.