Context Menu not working in inheriting class if using T in class

I’ve done some tests and normally the ContextMenu does work in the inheriting class but when you pass in another class (MyClass) then the Context menu no longer shows up, does anyone know why?

This is what my base class looks like:

public class ExtendedMonoBehaviour : MonoBehaviour
where TSelf : ExtendedMonoBehaviour
{
[ContextMenu(“Execute Test Function”)]
public void Test()
{
Debug.Log(“Test Function Executed”);
}
}

This is what the inheriting class looks like:

public class InheritingClass : ExtendedMonoBehaviour
{
[ContextMenu(“Execute Inheriting Class Function”)]
public void InheritingMethod()
{
Debug.Log(“Inheriting Class Function Executed”);
}
}

The context menu in the inheriting class shows up but the one in the base class does not

Ok so I tried adding an extra level of base class that doesn’t use T and that works, the results were that the class that has the inherited type passed into it still doesn’t display ContextMenus but the new class does so that’s fine, I’ll just put my context menus in the new one.

[196862-base-classes-1.png|196862]

[196863-base-classes-2.png|196863]