Accessing color presets in c# script.

I have many hex color presets that I’m tweaking in the game to get some nice effects. Thing is, lots of my particles relay on script that sets their colors.
At the moment I have to store each of the presets as hex constants which is really inefficient.

My question,
Can I access the presets in C# script? Something like
Presets.RedPreset etc etc

@Olly, looks like there is a class called ColorPresetLibrary, but it’s not accessible via code. However, you can work around that by using a SerializedObject.

For this example, I have a color preset saved in my project at Assets/Editor/UI Colors.color.

string colorPresetPath = "Assets/Editor/UI Colors.colors";
UnityEngine.Object presetObject = AssetDatabase.LoadAssetAtPath<UnityEngine.Object>(colorPresetPath);
SerializedObject so = new SerializedObject(presetObject);
SerializedProperty presets = so.FindProperty("m_Presets");
SerializedProperty firstElement= presets.GetArrayElementAtIndex(0);