Hello all. I just wanted to say I solved the issue of dropper not registering as a hit. There’s a race condition with the decoupled design. When I debugged and stepped through, Unity was calling the ObjectHit.OnCollisionEnter() first which was tagging it as “Hit”. So when Scorer came along right after and checked if it had the tag of “Hit”, it was true so it was not incrementing the count.
The solution I came up with actually solved ground collision also for me without special code. I basically just moved the collision code on Scorer to my own method called AddCollision() and then in the ObjectHit code, after the color change and tag code, called the Scorer AddCollision() method from there. A side benefit of this solution is that it solved the ground plane collision since that does not have an ObjectHit component. Here’s my code below. Also, bonus, I used String Interpolation to make the message easier to read which is a popular way now to make strings that have a lot of fields/variables in them.