Hello guys! So I just browsing the Scripting API today, and found this questionable phase under the [SerializeField] documentation: "You will almost never need this.". Why would anyone write this? When learning OOP concepts and encapsulation, the first thing you learn is, don't use public variables, use instead setter and getter methods. Using [SerializeField], you can expose your private variables to the Inspector, without actually exposing it to other scripts. Imho, don't teach bad practices for beginners, especially at the offical API. Please change the documentation to this: "You will almost always need to use this, instead of using public variables (except some rare cases)."