I have few questions with regards to the null safety feature offered by Flutter/Dart.

1. Is it mandatory to make use of the null safety feature for flutter projects?
2. If I don't make use of the null safety feature, will I still be able to make use of all the existing and latest flutter widgets, with all the latest functionality they have got to offer? What I mean to say is, is there any specific functionality that is only available when the null safety feature is enabled.
3. What would be the major disadvantages, I could encounter, apart from the null check, if I don't make use of the null safety feature for the flutter projects?
4. Even if the code is correct, I find that the null safety feature would keep throwing the null check operator error, which is very annoying.

Could anyone please help with answering my queries, as I find this null safety to be very confusing and annoying. I did go through few videos but still, I'm not convinced.

Thank you so much for your help in advance.