UdonSharp is an open source C# compiler for VRChat's Udon scripting system. Contributions are welcome and greatly appreciated.
Before reporting an issue, make sure you have installed UdonSharp following the installation instructions. If you run into an issue with UdonSharp, report it on the issues page.
UdonSharp accepts pull requests. The first time you contribute to a vrchat-community repository, you will be asked to review and sign VRChat's Contributor License Agreement. This will be requested automatically when you submit your first pull request.
If you are making changes to the compiler, it is recommended that you run U#'s integration tests after running a U# compile with your changes. We are working on improving U#'s testing process, at the moment there is some work involved:
- Clone the UdonSharp repository
- Integrate your changes
- Remove the trailing
~
from theAssets/UdonSharp/Samples~
andAssets/UdonSharp/Tests~
directories - Open the UdonSharp project in Unity 2019.4.31f1
- Install the latest VRChat worlds SDK in the project
- Open the
IntegrationTestScene
scene in theAssets/UdonSharp/Tests
directory - Run a manual U# compile from the button on UdonSharpProgramAsset files
- Enter play mode and verify that all tests are passing in the output log
If you are contributing compiler fixes or features, it's encouraged to add tests to the test scripts to help prevent regressions.