so while trying to challenge myself to write the code on my own, i happen to instantiate the gamestatus variable on the Start() method instead of OnCollisionEnter2D() .
However, after winning a lvl i noticed my score stopped updating even after hitting blocks.
After rewatching the course, i noticed the mistake i made, and fixed it by calling
status = FindObjectOfType<GameStatus>();
inside the OnCollisionEnter2D() method.
it works fine, but i dont understand the logic behind it, According to what i know , the Start() method is called before the OnCollisionEnter2D() one.
I hope someone enlighten me on the subject.