Hi everyone, I’m encountering a weird issue with UdonSharp.
I am trying to override standard Unity events like OnTriggerEnter, but the compiler keeps throwing CS0115.
Then I noticed the editor’s standard event list for Unity MonoBehaviours (e.g., FixedUpdate, LateUpdate, OnAnimatorMove, OnRenderObject, OnTriggerEnter, etc.).
All events throw error CS0115: ‘…’: No overridable method.
This seems to indicate that UdonSharpBehaviour failed to properly expose these virtual methods to my script, or the delegate generation failed entirely.
The Error:
error CS0115: ‘EventTester.OnTriggerEnter(Collider)’: no suitable method to override
My Setup:
I ensured the class name matches the file name perfectly.
I have included using UnityEngine; at the top of the script.
I am inheriting from UdonSharpBehaviour.
What I have tried:
Creating a brand new project.
Using UnityEngine.Collider explicitly in the arguments.
Despite all this, it still fails to override any event that.
Has anyone faced this issue before? Is there something wrong with my environment?
Thanks!
My friend did a little looking into it and sent me this copy-pasta, dunno if this will help in anyway
You added public override void SomeMethod() for a VRChat/Udon event (e.g., Interact, OnPlayerJoined, OnDrop, OnPickupUseDown, etc.), but the method name or parameters are misspelled/mismatched.
- You copied code from an older tutorial or regular Unity MonoBehaviour script, where methods like Start() or Update() don’t need override (they’re just regular methods in UdonSharp).
- You’re trying to override a standard Unity callback like OnTriggerEnter without the correct signature (UdonSharp supports some, but they must match exactly).
- Rarely, outdated UdonSharp/VRChat SDK versions cause mismatches, but this is less common now with the Creator Companion
Apologies everyone, I realized I was misled by an AI hallucination. Gemini incorrectly claimed that Unity native events within Udon require the public override modifier, similar to Udon events.
Since it had taught me so much previously, I trusted it blindly. I finally broke the deadlock by attempting to remove public override as a last-ditch effort, and it solved the issue.
