Conditions for using properties

From this tutorial PROPERTIES

i learn that good idea make fields that need to be accessed from other scripts private and make public properties for them. So question is: i must use properties ALWAYS with this condition for best efficiency or not?

No. You have to use properties only to limit access to fields by letting only to get and/or set them, add additional functions that should happen when value is being get or set (like updating other fields depending on value) and create useful representation of object’s state.
Properties can help create robust, versatile classes and have to be used when you build large complex systems with a team of devs.