I know when declaring the properties for a shader there are some types of “input”: float, range, color, 2D.
but when I try to set up a Stencil Operation as a property. how to do this? I mean what I know that Stencil Operation is one of this list (Greater, GEqual, Less, LEqual, Equal, NotEqual, Always, Never) so then how to indicate which op from the editor.
Well, Unity has the enums Rendering.StencilOp and Rendering.CompareFunction which do reflect those int values. Unfortunately the documentation does not mention the actual index values. However since you can and should use the enum anyways this shouldn’t really matter ^^. Though if you do want / need to know those values, someone posted them over here, though this list may not be up to date. The best source would be looking up the declaration of the enums in the source: CompareFunction and StencilOp. I’m sure there aren’t much changes happening in those enums over time, but if you really want to be sure you can use ILSpy or any other reflector and look up the enum in your current Unity version.
Though as I said you usually want to use the enums directly. You may need to cast them to int in order to use them.