Skip to content

Repository files navigation

Unity MethodButton Attribute

Add this attribute to your class to create buttons in the inspector for selected methods. No need for a custom editor.


Usage:

usingUnityEngine;publicclassExampleClass:MonoBehaviour{publicintExampleInt;publicboolExampleBool;internalvoidExampleInternalMethod(){Debug.Log("Invoking: ExampleClass.ExampleInternalMethod");}publicvoidExamplePublicMethod(){Debug.Log("Invoking: ExampleClass.ExamplePublicMethod");}privatevoidExamplePrivateMethod(){Debug.Log("Invoking: ExampleClass.ExamplePrivateMethod");}protectedvoidExampleProtectedMethod(){Debug.Log("Invoking: ExampleClass.ExampleProtectedMethod");}/* Add these four lines of code to your class. * Edit, add/remove, method names to the attribute. * Names must match the method name passed into the attribute. *  * The bool "editorFoldout" is used not only as the property that Unity will use to find the attribute, * but also as the bool for the foldout in the editor. *  * The #if UNITY_EDITOR preprocessor directive is so that this code is not compiled into the finished build. * So no need to remvoe it prior to building. */
#if UNITY_EDITOR[MethodButton("ExampleInternalMethod","ExamplePublicMethod","ExamplePrivateMethod","ExampleProtectedMethod")][SerializeField]privatebooleditorFoldout;
#endif
}


About

Add this attribute to your class to create buttons in the inspector for selected methods. No need for a custom editor.

Topics

Resources

Code of conduct

Contributing

Stars

13 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages