If you use UdonSharp, you already know how to use Editor Scripting

If you use UdonSharp, you don't need to commit to learn Editor Scripting.

It's likely that you already know how to use Editor Scripting. Being able to use Editor Scripting at the right time can give you a productivity boost. Learn in small chunks.

To get started, it takes a couple minutes:

Untitled

using UnityEngine;

public class MyStuff : MonoBehaviour
{
    public float myValue;
}
using UnityEditor;
using UnityEngine;

[CustomEditor(typeof(MyStuff))]
public class MyStuffEditor : Editor
{
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();
        if (GUILayout.Button("Run"))
        {
            Run();
        }
    }

    private void Run()
    {
        var myValue = ((MyStuff)target).myValue;
        Debug.Log($"The value is {myValue}");
    }
}

Your inspector now has a button labelled Run that you can click, and it will print the value of a field from that object.

Untitled

There is much more than that possible but this simple script should already get you places.

Think of some of the UdonBehaviours that you run in-game, that you could run one time within the Editor instead.

Placing the Editor script a folder called exactly Editor/ is important because it will prevent the build from crashing, as this depends on UnityEditor.

Detect when a VRChat build starts

It is possible to detect when a VRChat build is going to start, using the IVRCSDKBuildRequestedCallback callback interface.