void DoGetEnumValues() { //reset results saveAsEnumArray.Resize(0); Array.Clear(saveAsEnumArray.Values, 0, saveAsEnumArray.Length); saveAsStringArray.Resize(0); Array.Clear(saveAsStringArray.Values, 0, saveAsStringArray.Length); saveAsString.Value = ""; //get Types var enumType = enumVariable.Value.GetType(); var arrayType = saveAsEnumArray.GetType(); //check if Types match if (enumType != arrayType) { Debug.LogWarning("Array and Enum are not of the same Enum-Type. Please match them in the Variables-Editor."); } foreach (var singleItem in Enum.GetValues(enumType)) { saveAsEnumArray.Resize(saveAsEnumArray.Length + 1); saveAsEnumArray.Set(saveAsEnumArray.Length - 1, singleItem); saveAsStringArray.Resize(saveAsStringArray.Length + 1); saveAsStringArray.Set(saveAsStringArray.Length - 1, singleItem.ToString()); saveAsString.Value += singleItem.ToString() + ", "; } saveAsString.Value = saveAsString.Value.TrimEnd(", ".ToCharArray()); }