Programmers might ignore warnings. Both in compilation and in run time.
A warning is not a compilation error, so why are they important?
Think of a warning as increased risk for a horrible crash.
Not only do you want to pay attention to warnings(compilation or run time), you would also want to log warnings yourself. In the case you are developing a framework.
I am working on a new game and my framework works on both the PC and Android.
In the PC version everything worked fine, but in the Android version the collision detection didn’t work.
When I am loading a mesh I am copying its vertex position data so I could use it for collision and physics.
However, on the Android version I was releasing this data in order to save up memory. I also added a method named ‘SetKeep’ to mark a mesh as one that I don’t want to release its physics related data.
I wasn’t working on the Android port of my framework for some time and I completely forgot that I am releasing the collision data on Android but greedily keep it on the PC. That is why it worked on the PC but not on Android.
I just couldn’t understand why my collision data was empty.
A simple log warning mentioning that I am trying to access the collision data without keeping it first would have saved me a lot of time.