First, take a look at this page from [the official VRChat docs](https://creators.vrchat.com/sdk/upgrade/unity-2022/#using-the-unity-website) about the Unity 2022 upgrade. We'll do something similar.
1. Install Unity Hub from Flatpak.
1. Install the 3rd party VRChat package manager [`vrc-get`](https://github.com/anatawa12/vrc-get).
The official VRChat Creator Companion uses Webview2 (Microsoft Edge). This component is difficult to install, and doesn't run natively. Instead, you can use LinuxCreatorCompanion.
It works by using wine to extract the necessary bits to re-embed into a native client application. While experimental, you can enjoy much easier avatar, world, and asset creation. Again, this is experimental, and we discourage you from trying this on important projects. **Remember to make frequent project backups.** Please leave any feedback about bugs or ideas on the GitHub issues tab.
**Note:** If you're using Unity Hub via flatpak, it will have trouble finding and opening Unity. For now, create this wrapper script, chmod +x it, and put it somewhere in your PATH, like `/usr/local/bin/unityhub`.
- For world projects, import `WorldSDKPatch.unitypackage`: https://github.com/thegu5/VRCSDKonLinux/releases
- For avatar projects, import `AvatarSDKPatch.unitypackage`: https://github.com/Bartkk0/VRCSDKonLinux/releases
These will mod the appropriate VRCSDK methods to apply several fixes:
- Make AssetBundle building be case-sensitive-aware
- Let Build & Test copy local avatars to the correct directory (WIP?)
## Troubleshooting
### AssetBundle was not built
When building and uploading, this error message may appear. It's caused by VRCSDK building an AssetBundle whose filename has mixed caps, when Unity AssetBundles are really only supposed to have lowercase filenames.
To fix this, see the [VRCSDKonLinux](#VRCSDKonLinux) section.
### 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.
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](https://github.com/flathub/com.unity.UnityHub/issues/97).
As a workaround, launch your file browser in Xwayland mode. Unity will accept the file as it should.