long/ulong EnumYou can serialize a long/ulong base typed enum with SaintsSerialized, which is not supported by Unity.
- IMPORTANT: Set your
MonoBehaviour/ScriptableObjecttopartial - Add
[SaintsSerialized]to your enum field
// IMPORTANT: partial class using SaintsField.Playa; public partial class MyBehavior: MonoBehaviour { [Flags] // no need to use Serializable, because Unity just can not serialize it. public enum TestULongEnum: ulong { None = 0, First = 1, Second = 1 << 1, Third = 1 << 2, All = First | Second | Third, } public enum TestULongEnumNormal: ulong { None, First, Second, Third, } [FormerlySerializedAs("MyOldName")] // FormerlySerializedAs works too [SaintsSerialized] public TestULongEnum ULongEnumPub; [SaintsSerialized] public TestULongEnumNormal ULongEnumNormalPub; // EnumToggleButtons is supported too [SaintsSerialized, EnumToggleButtons] public TestULongEnum ULongEnumPubBtns; [Serializable] // use inside class/struct requires `partial` keyword too public partial class MyClass { [SaintsSerialized] // This work inside a normal class/struct. Note the `partial`! public MyULongEmun myEnum; } // We don't need `SaintsSerialized` for this field public MyClass myClass; }

This can work with EnumToggleButtons.