public static AssetPtr AssetPtrField(Rect rect, GUIContent label, AssetPtr value, Type assetType, out bool changed)
        {
            value ??= AssetPtr.NullPtr;
            Object asset    = LoadAssetByGUID(value.AssetGUID, assetType);
            Object newAsset = EditorGUI.ObjectField(rect, label, asset, assetType, false);

            changed = newAsset != asset;
            return(changed ? newAsset.GetAssetPtr() : value);
        }