UdonSharp Inspector Fails to Update After Successful Compile on Clean Installations

Software Versions:

  • VRChat Creator Companion: Latest Version (as of Sep 2025)

  • Unity Editor: 2022.3.22f1 (Installed via VRChat Creator Companion)

  • Visual Studio: 2022 Community (Installed with “Game development with Unity” workload)

  • VRChat Worlds SDK: Version provided with the VCC new project template

Summary of Bug

On a completely fresh installation of the VRChat development environment (VCC, Unity, VS) on multiple, independent machines, the Unity Editor fails to correctly display UdonSharp script components. Although the UdonSharp compiler reports a successful compilation in the console, the Inspector window does not update to show the script’s public variables. This makes it impossible to assign scene objects to script variables, fundamentally blocking the standard UdonSharp development workflow.

Steps to Reproduce (STR)

This bug is 100% reproducible on a clean system by following these steps:

  1. Perform a clean installation of the VRChat Creator Companion, the recommended Unity Editor (2022.3.22f1), and Visual Studio 2022 with the Unity workload.

  2. Using the VCC, create a brand-new “Udon Sharp” project.

  3. Open the new project in Unity.

  4. In the Assets folder, create a new subfolder named Scripts.

  5. Inside the Scripts folder, right-click and select Create > VRChat > Udon > Udon C# Program Asset.

  6. Name the new asset TestScript.

  7. At this point, the first issue occurs: Double-clicking the TestScript.asset file does nothing. It does not open Visual Studio as expected.

  8. To proceed, a manual workaround is required: a. Create a separate, plain C# Script named TestScript_Source.cs. b. Select the TestScript.asset file. In its Inspector, drag TestScript_Source.cs into the Source Script field to manually link them. c. Open the project in Visual Studio using the top menu Assets > Open C# Project. d. Open TestScript_Source.cs and replace its contents with simple test code containing a public variable:

    using UdonSharp;
    using UnityEngine;
    
    public class TestScript_Source : UdonSharpBehaviour
    {
        public GameObject testObject;
    }
    
    
    

    e. Save the script in Visual Studio and return to Unity.

  9. Select the TestScript.asset file again and observe the Inspector.

Expected Behavior

After the script is saved and Unity recompiles, the Inspector for TestScript.asset should update. It should display a header of Test Script (Udon C#) and show the public variable testObject as a field, ready for a GameObject to be assigned.

Actual Behavior

The Unity console correctly logs a success message (e.g., [UdonSharp] Compile of X scripts finished). However, the Inspector for TestScript.asset does not update. It remains in the default, uncompiled state, showing the “Compile All UdonSharp Programs” button. The public testObject variable is never displayed. Clicking the “Compile” button also does nothing to change the Inspector’s state, even though the console reports another successful compile.

This behavior makes it impossible to assign scene references to scripts, blocking all non-trivial world development.

Troubleshooting Performed

The following steps were taken to try and resolve the issue, none of which were successful:

  • Verified and re-set the External Script Editor in Edit > Preferences.

  • Regenerated C# project files multiple times.

  • Installed, uninstalled, and updated the “Visual Studio Editor” package via the Package Manager.

  • Forced full recompiles via VRChat SDK > UdonSharp > Force Full Recompile.

  • Completely deleted the project’s Library folder to force a full re-import.

  • Performed a complete uninstall and reinstall of Unity, Unity Hub, Visual Studio, and the VRChat Creator Companion.

  • Crucially, this entire bug was successfully and independently reproduced on a second, separate computer by a different user, following the same clean installation and STR.

Impact

This is a critical, workflow-blocking bug. It prevents the primary intended method of UdonSharp development from functioning. Any user encountering this issue on a fresh installation will be completely unable to create interactive worlds that require linking scene objects to scripts.

It sounds suspiciously like you chose the wrong menu item. If you want an UdonSharp file you should not choose Udon C# Program Asset. Consider trying it again but select U# asset.