Last Updated: 06/12/2024
Publisher: cherrydev
💡 About: Unity asset designed to speed up and improve your development process. Adds a large number of attributes with which you can make your inspector more beautiful and convenient.- Directly from Unity asset store. Link soon
- Go to ‘Package Manager’ - + - ‘Add package from git URL’ and paste https://github.com/OlegVishnivetsky/awesome-attributes.git?path=/Assets/AwesomeAttributes
- Download .zip from git hub page and extract forder.
- Go to ‘Package Manager’ - + - ‘Add package from disk’ and select package.json file.
Draws a title and subtitle (optional). You can change the text alignment to Left/Center/Right. You can choose whether this text will be bold, have a separation line or not.
[Title("Health", "Player health")]
[SerializeField] private float maxHealth;
[SerializeField] private float currentHealth;
--------------------------------------------------
public TitleAttribute(string title, string subTitle = null, bool bold = true, bool withSeparationLine = true);
public TitleAttribute(string title, TitleTextAlignments textAlignments, string subTitle = null, bool bold = true, bool withSeparationLine = true)
![](https://private-user-images.githubusercontent.com/98222611/338916976-db28898a-d926-44f5-9b2a-d21042547a81.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzNTUzODUsIm5iZiI6MTcyMjM1NTA4NSwicGF0aCI6Ii85ODIyMjYxMS8zMzg5MTY5NzYtZGIyODg5OGEtZDkyNi00NGY1LTliMmEtZDIxMDQyNTQ3YTgxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDE1NTgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTliNTkyMDQ3Y2M2ZDMyOGI0YTRkNjVhZDlkYWYxYTk5ZTVhMTJhOTNkOGQwMWI1Zjg4OWRjMWU4ZWUwYjUxNjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.fbnC-MeBMVTGkXnRrd3V1FnUkBFuxI0RtgMDjfFLHP0)
![](https://private-user-images.githubusercontent.com/98222611/338917464-789cd02f-a969-4908-bebc-b620763d9976.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzNTUzODUsIm5iZiI6MTcyMjM1NTA4NSwicGF0aCI6Ii85ODIyMjYxMS8zMzg5MTc0NjQtNzg5Y2QwMmYtYTk2OS00OTA4LWJlYmMtYjYyMDc2M2Q5OTc2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDE1NTgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI0ODNkOTNhZGQ4MmY0YzU0YjM4NWExNTQzM2FlZWRjZWJlOWFkZTdiMjAwNTY5MGViNWM4MTJhZjhhYTkwZTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.bx5CmYfvhpHUTpvfsT05ylgle3acegjexPCMJxeiFec)
Everything is simple here. The attribute changes gui color. You can use it by specifying color hex or rgba in the parameters.
[GUIColor("#ff00ff")]
[SerializeField] private float maxHealth;
[GUIColor(255, 0, 0, 0.2f)]
[SerializeField] private float currentHealth;
--------------------------------------------------
public GUIColorAttribute(int r, int g, int b, float a);
public GUIColorAttribute(string colorHex)
![](https://private-user-images.githubusercontent.com/98222611/338919015-aa6172c5-5c04-4916-bd93-6a2916378d7d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzNTUzODUsIm5iZiI6MTcyMjM1NTA4NSwicGF0aCI6Ii85ODIyMjYxMS8zMzg5MTkwMTUtYWE2MTcyYzUtNWMwNC00OTE2LWJkOTMtNmEyOTE2Mzc4ZDdkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDE1NTgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk2OGMzMmFkZmEzMmRhODlkMjg5ZGQ2ODFiYTg4NWZlOWJlZjAwMDAwMTk0MTkzZGMwYjA4YjljNTQ2NWJlZjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.xOXNacZNthiOj3ondP_hObttD-IGKZ3plQ369yZIIyQ)
Draws a separation line with height, top spacing and bottom spacing.
[SeparationLine(10)]
[SerializeField] private float maxHealth;
[SerializeField] private float currentHealth;
[SeparationLine(1, 10, 10)]
[SerializeField] private float speed;
[SerializeField] public float maxSpeed = 4;
--------------------------------------------------
public SeparationLineAttribute(float height, float topSpacing = 1, float bottomSpacing = 1);
![](https://private-user-images.githubusercontent.com/98222611/338920030-e43cd314-ed3a-4923-9599-eba00bb6eab2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzNTUzODUsIm5iZiI6MTcyMjM1NTA4NSwicGF0aCI6Ii85ODIyMjYxMS8zMzg5MjAwMzAtZTQzY2QzMTQtZWQzYS00OTIzLTk1OTktZWJhMDBiYjZlYWIyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDE1NTgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI0ZDA3YTg0M2FhZmQxYTQ0ZWJlYTE1NmMyYTliMzM4YWEzNjY5NmJiNmY4NzlkYjEyNGE5ZDE2ODJhMDI5MTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.pGKZAAEPFNIzTgVm_MfdvpqBy72Ep8wUfifDLCKOW3w)
Changes the field name in the inspector, useful for long names.
[Label("Short Name")]
[SerializeField] private float veryveryveryveryveryLong;
--------------------------------------------------
public LabelAttribute(string lable)
![](https://private-user-images.githubusercontent.com/98222611/338920833-02c5de50-a68c-4c86-9136-f5e67175b7c9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzNTUzODUsIm5iZiI6MTcyMjM1NTA4NSwicGF0aCI6Ii85ODIyMjYxMS8zMzg5MjA4MzMtMDJjNWRlNTAtYTY4Yy00Yzg2LTkxMzYtZjVlNjcxNzViN2M5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDE1NTgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWIyZGM1ZWIwMTM1YjNjYjIwMjA0YzA5ZjllODA2ZTkyMjA3ODdmMDgyNTU3N2Q5ZjFlOWJiMzFjMzRkNWZjZjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.f5qbgv9h6tGhkHBAV2ujhP8SS8t4gTA8RHdW6qYQwLo)
Shows the field in the inspector if the condition is true, otherwise hides it. May contain several conditions and enum. You can also specify a method that returns a bool.
[SerializeField] private bool showIfThisTrue;
[ShowIf("showIfThisTrue")]
[SerializeField] private int showMePlease;
[SerializeField] private ShowIfTestEnum showIfEnumTest;
[ShowIf(ShowIfTestEnum.Show, "showIfEnumTest")]
[SerializeField] private int showEnumTest;
--------------------------------------------------
public ShowIfAttribute(string condition)
public ShowIfAttribute(string conditionsOperator, params string[] conditions)
public ShowIfAttribute(object enumValue, string enumFieldName)
![](https://private-user-images.githubusercontent.com/98222611/338963054-1fbc4e26-6593-4830-86a9-2ad01cbb2e58.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzNTUzODUsIm5iZiI6MTcyMjM1NTA4NSwicGF0aCI6Ii85ODIyMjYxMS8zMzg5NjMwNTQtMWZiYzRlMjYtNjU5My00ODMwLTg2YTktMmFkMDFjYmIyZTU4LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDE1NTgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTMzMDJiNDNiYzViNmZiZmNmOWM5ZTRkYjhjYzgwOTk1M2UwOTQ5NTE5OTIxMjk2MjFkNjhlZWUwZGZmOWQwZjcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.reFq-09Tytqmye-TNBhoDUmwvo57QS3t0JtQT8hoPpQ)
Attribute class for readonly fields, they are visible in the inspector but cannot be edited.
[SerializeField] private float maxHealth;
[Readonly]
[SerializeField] private float currentHealth;
![](https://private-user-images.githubusercontent.com/98222611/339512491-f3147839-124e-4259-958a-056b40621cae.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzNTUzODUsIm5iZiI6MTcyMjM1NTA4NSwicGF0aCI6Ii85ODIyMjYxMS8zMzk1MTI0OTEtZjMxNDc4MzktMTI0ZS00MjU5LTk1OGEtMDU2YjQwNjIxY2FlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDE1NTgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBlZmMyODQ1NTUzNjBjYTRkYmYxMDJkODcyOTVlZTBmMWMzOGJkZTM1MjVjOGM5NWE0MGUwNzI4NDcxMmY2ZDEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.US6GKmA3Vj52aCCab_moAz70gdOTzObeJv8EFacSOHk)
Another conditional attribute. Makes the field readonly if the condition is true. May contain several conditions and enum.
[SerializeField] private bool turnOnReadonly;
[ReadonlyIf("turnOnReadonly")]
[SerializeField] private float currentHealth;
--------------------------------------------------
public ReadonlyIfAttribute(string condition)
public ReadonlyIfAttribute(string conditionsOperator, params string[] conditions)
public ReadonlyIfAttribute(object enumValue, string enumFieldName)
![](https://private-user-images.githubusercontent.com/98222611/339512737-d64e2ecf-4738-42e6-b12b-6bd16f41f767.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzNTUzODUsIm5iZiI6MTcyMjM1NTA4NSwicGF0aCI6Ii85ODIyMjYxMS8zMzk1MTI3MzctZDY0ZTJlY2YtNDczOC00MmU2LWIxMmItNmJkMTZmNDFmNzY3LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDE1NTgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTllZDVlZTVhOTNiYzAxZWZlYmRiZmNiYmJmN2IzYWU2MWFiN2IzM2EwNWRmN2RiZDIxZjU0ZWE3ZDEwOTI5M2YmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Qk80Vt4HGsMUPnROmWT4TP-04eRIKB8QAY1MoPauCpQ)
Attribute that creates special slider the user can use to specify a range between a min and a max. Can be used on Vector2 and float fields.
[MinMaxSlider(0, 20)]
[SerializeField] private Vector2 minMaxValue;
--------------------------------------------------
public MinMaxSliderAttribute(float minValue, float maxValue)
![](https://private-user-images.githubusercontent.com/98222611/339513088-44c70627-1b27-4307-9569-1a723aa12863.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzNTUzODUsIm5iZiI6MTcyMjM1NTA4NSwicGF0aCI6Ii85ODIyMjYxMS8zMzk1MTMwODgtNDRjNzA2MjctMWIyNy00MzA3LTk1NjktMWE3MjNhYTEyODYzLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDE1NTgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIxMGNkODkzNjkxODk3OTkwYWIyZjZjMGY1MTJjOWFjNjQ3MjYzNTk3NjQyM2VmZjcwODZhMWU3Mjg4MTgwYWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.7L2s-1_mbaiNMDBu1guwqaknAVK7iX9KnlcAAzUJ9NM)
Hides the field label
[WithoutLabel]
[SerializeField] private Vector2 iDontNeedLabel;
![](https://private-user-images.githubusercontent.com/98222611/339514019-6dfd0086-fa4e-4d8c-8181-3036ab649882.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzNTUzODUsIm5iZiI6MTcyMjM1NTA4NSwicGF0aCI6Ii85ODIyMjYxMS8zMzk1MTQwMTktNmRmZDAwODYtZmE0ZS00ZDhjLTgxODEtMzAzNmFiNjQ5ODgyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDE1NTgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdlNDI2NWY3MTcwYTRhMTAyYTliNTQ1ODBiZThlN2YwYjkzN2EyYmEzMzA1NTIyNDJjMzJlYzQwZjZlZjQxOWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.aB4246w-dCRsh4ppMklHcxRnKBATcqduFJFm1-tUbyw)
Shows a button under the field to which you placed the attribute. The name of the method is specified as a parameter; you can also specify the label and height.
[Button("DebugCurrentHealth", "Check Health")]
[SerializeField] private float currentHealth;
--------------------------------------------------
public ButtonAttribute(string methodName, string lable = null, float height = 18)
![](https://private-user-images.githubusercontent.com/98222611/339514119-0930c652-c00f-47fa-86dc-eb4951c76a6a.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzNTUzODUsIm5iZiI6MTcyMjM1NTA4NSwicGF0aCI6Ii85ODIyMjYxMS8zMzk1MTQxMTktMDkzMGM2NTItYzAwZi00N2ZhLTg2ZGMtZWI0OTUxYzc2YTZhLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDE1NTgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZjODUyYjJhZDZmYzhlMjk0MzBlZGVmN2FkNjI2NTNmNTA0NGQ1YjAwYTJkODU2NWEwYzAwMDE3MWNhY2Q1YTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.3aYREW-entmbVsBwnGa_QwsomjWUPxga4EKbCyeoYpk)
Attribute that creates a warning box if the field is null.
[Button("DebugCurrentHealth", "Check Health")]
[SerializeField] private float currentHealth;
--------------------------------------------------
public ButtonAttribute(string methodName, string lable = null, float height = 18)
![](https://private-user-images.githubusercontent.com/98222611/339514509-dc93abbe-d846-4041-bbb8-cf3488747511.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzNTUzODUsIm5iZiI6MTcyMjM1NTA4NSwicGF0aCI6Ii85ODIyMjYxMS8zMzk1MTQ1MDktZGM5M2FiYmUtZDg0Ni00MDQxLWJiYjgtY2YzNDg4NzQ3NTExLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDE1NTgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWUzZmRmYzJiMmNlYmY2YTc1ZTQxZjA1NWRiOGEzZjM0OGNhNWZiMDg0MjYwMDMwM2MzMWJiMzNkNzM5ZmNjN2QmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.bmDU5XZEbbjKXbXqZvREZ4IArl67xQmo7RRGCwuVKCg)
Restricts a property to reference only child objects of the same type. Adds a button "Pick" that opens a window with all child objects of the same type as the field and allows you to assign only child objects.
[OnlyChildGameObjects]
[SerializeField] private Rigidbody2D onlyChildObjects;
![](https://private-user-images.githubusercontent.com/98222611/339514862-4eedc2a1-3383-40c3-88ac-a9fd1c1e9b04.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzNTUzODUsIm5iZiI6MTcyMjM1NTA4NSwicGF0aCI6Ii85ODIyMjYxMS8zMzk1MTQ4NjItNGVlZGMyYTEtMzM4My00MGMzLTg4YWMtYTlmZDFjMWU5YjA0LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDE1NTgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg1ZmVhOTliOTI2Y2MyMDI3YTgzNjkxZThkNDc2YzA1MDJhZDM2YmVjZDU5ZGM5NGYwYWM5ZjM3NDM5NzM1NzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.IV790cJ3DeUrODkYKqoHaKWDbUxUsxZ9zWQ7yxZKULQ)
Allows you to select a tag from a dropdown in the Inspector.
[TagSelector]
[SerializeField] private string playerTag;
![](https://private-user-images.githubusercontent.com/98222611/344474559-bf27bef6-8887-4464-96d9-28f8eebf9771.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzNTUzODUsIm5iZiI6MTcyMjM1NTA4NSwicGF0aCI6Ii85ODIyMjYxMS8zNDQ0NzQ1NTktYmYyN2JlZjYtODg4Ny00NDY0LTk2ZDktMjhmOGVlYmY5NzcxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDE1NTgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTlkN2YxOWM1ZjA1ZTE2ZWEyOTFhZDcwZDIyY2JjNGE1YzMwMzZmZjU4ZmEyMjYyMzA5MzE2MjBjMzAyOTI2ZTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.kdK5XOgfaRlTDUSAghGdiTMoEsNSs4m4_OuPXtSECgE)
Allows you to select a scene from the drop-down list in the Inspector for string or integer fields. The drop-down list shows the scenes that are in Build Settings/Scenes In Build
[Scene]
[SerializeField] private string sceneField;
![](https://private-user-images.githubusercontent.com/98222611/344474375-3ee7ef70-7067-4299-b18d-11b9687e01bf.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzNTUzODUsIm5iZiI6MTcyMjM1NTA4NSwicGF0aCI6Ii85ODIyMjYxMS8zNDQ0NzQzNzUtM2VlN2VmNzAtNzA2Ny00Mjk5LWIxOGQtMTFiOTY4N2UwMWJmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDE1NTgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThlNWJjYmYxMzRiMDQxNzM4ZmNlMGJhZTczYjE1MDVlNWYwM2Q5MTU1N2EyZDBiYWI4ODNmZDE4NTkwYTdhNjcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.5SBGFOVmQesGuKVKc94mk3XDDwjRpbGQl-slnaaaxX8)
⭐⭐⭐⭐⭐ If you want to add your attribute. Then please follow the folder structure as in the asset and make a pull request. Feel free to edit any code to suit your needs. If you find any bugs or have any questions, you can write about it to me by email, github or in reviews in the Unity Asset Store. I will also be pleased if you visit my itchio page. 😄
Gmail: [email protected]
Github: https://github.com/OlegVishnivetsky
Itch.io: https://oleg-vishnivetsky.itch.io/
This file will be updated over time. If you write suggestions again.