diff --git a/Source/Engine/Utilities/Extensions.cs b/Source/Engine/Utilities/Extensions.cs
index 339c1c368..29aa7329a 100644
--- a/Source/Engine/Utilities/Extensions.cs
+++ b/Source/Engine/Utilities/Extensions.cs
@@ -398,5 +398,17 @@ namespace FlaxEngine.Utilities
random.NextBytes(numArray);
return (long)(BitConverter.ToUInt64(numArray, 0) & long.MaxValue);
}
+
+ ///
+ /// Returns a random value of the given enum.
+ ///
+ /// The enum to get the value from.
+ /// An instance of .
+ /// A random enum value.
+ public static TEnum NextEnum(this Random random)
+ {
+ Array values = Enum.GetValues(typeof(TEnum));
+ return (TEnum)values.GetValue(random.Next(values.Length));
+ }
}
}