Ah my mistake, I saw the action and thought something totally different. Are you using the Is Trigger box on the collider? It may not be triggering because you have this manager on the enemy, so a bullet hits him, he processes it, then returns to waiting for another collision. If during that time another bullet hits him he doesn't care to process it because he is busy doing other things.
Yes I'm using is trigger box on both the bullet and the collider and have a fsm on enemy as I have posted in the screenshot in the above post. There is a trigger enter global event and there is a check collision type state, and within it the action is trigger info, as you can see.
So I do have this manager on the enemy, but when a bullet hits him I do see him possess it since the game object hit in none. This happens even I only fire a single bullet, so there is no other bullet that keeps him busy.
But even let's say there are multiple bullets that hit him after possessing the first bullet he is busy with handling other bullet collision and doesn't care to possess the first bullet, but still when all bullets are hit he should possess the last bullet that hits him right? But again the Game Object is none during the whole time.
This is probably a logic issue with your FSM. It will get the first object and do whatever you tell it to do after that, if it leaves the state then it's no longer looking for collisions.
My FSM is posted in the screenshot in the above post, it's pretty simple. So the fact is that it doesn't not get my first object, even there is only a single bullet, the state triggers and it's inside the check collision type, but nothing is recorded. Additionally, if my player as a trigger walk into him the state will not even be triggered! It only triggers and possesses the object when it touches the ground sprite, and nothing else.
That's what baffles me.
EDIT: I think I know the reason now, my bullet actually destroy itself after hitting the enemy, I don't know what the exact mechanic is for storing hit object, if it's storing a pointer to the bullet then it will likely get nothing right?