This may not be considered as a bug but I think it is because a serialized field in Unity is a serialized field, no matter if it's public or not.
My icon field is private and serialized but it doesn't display the icon in project view.
[SerializeField] [AssetIcon] Sprite Icon;
To support private serialized Unity fields, GetMembers call in AssetDrawerFactoryLibrary.cs should be changed to this:
var typeMembers = type.GetMembers(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);
This may not be considered as a bug but I think it is because a serialized field in Unity is a serialized field, no matter if it's public or not.
My icon field is private and serialized but it doesn't display the icon in project view.
To support private serialized Unity fields, GetMembers call in AssetDrawerFactoryLibrary.cs should be changed to this: