Quick answer: Use a [Flags] enum and plain [Export], or for int fields supply PropertyHint.Flags with a comma-separated hint string.
You expect a flags UI in inspector. You get a number field. Hint not recognized for int without hint string.
The Symptom
Inspector shows a single integer for what should be a multi-checkbox UI.
The Fix
// Enum-based flags
[Flags]
public enum Abilities { None = 0, Walk = 1, Run = 2, Jump = 4 }
[Export]
public Abilities AllowedActions { get; set; }
// Int with hint string
[Export(PropertyHint.Flags, "Walk,Run,Jump")]
public int States { get; set; }
// Physics layers (built-in hint)
[Export(PropertyHint.Layers2DPhysics)]
public uint CollisionMask { get; set; }
The enum form auto-detects flags via the [Flags] attribute. The int form needs the names spelled out so the editor knows what to label each bit.
Verifying
Inspector shows 3 checkboxes (Walk, Run, Jump). Tick combinations; integer value reflects the OR’d bits.
“Flags enum or int + hint string. Inspector draws checkboxes.”
Related Issues
For C# List property edits, see List property. For Resource UID, see UID.
Flags enum or hint string. UI shows.