Learning and implementing Unity UI into my tool has allowed a method of customisation that I would like to be featured within the tool.
By setting up parameters such as colour, size, patterns etc. the user will be able to customise these elements without even touching the Shadergraph code attached to the material. This is ideal as it will save a designer the complexity of having to learn Shadergraph and gives the designer a clean and easy to use interface.
So far, there is implementation for colour and fresnel customization through the sliders which are connected to the attributes within the Shadergraph - interestingly, the attributes were just Hex values until I renamed them which seems to be a weird way of going about it (@Unity).
The Fresnel slider is a simple 0-1 slider, while the colour involves a colour picker or the ability to randomise the colours using "Random.ColorHSV(0f, 1f, 1f, 1f, 0.5f, 1f);" which allows the randomisation to pick brighter colours as recommended by the Unity documentation (https://docs.unity3d.com/ScriptReference/Random.ColorHSV.html) and also prevents the crystals from being a horrible colour.