We created something like this for our project. The whole thing was added a little hacky and there is definitely room for improvements 😉
I added an excerpt of our git patch file containing the changes made to node canvas. (The patch will most likely not work on your project but I think you’ll get the idea from reading it)
[CreateAssetMenu(fileName = “new_FloatReference”, menuName = “VariableRefs/Float”)]
public class FloatRef : VariableRef<float>
The scriptable objects can then be selected from nodecanvas when selecting a variable.
I was found two way for this without modify NodeCanvas code. First way is implement that CustomConverter in TypeConverter. Second way, implement to IConvertible interface. All cases are work fine. Thank you.