Trigger Instantiated with Objects Already Inside Of It

So I have a rocket launcher in my game (a first person shooter). When the rocket hits something it’s destroyed and an “explosion” empty is instantiated at the spot it hit which has a spherical collider used to detect if it hit anyone. Not only does it do damage to enemy players but also to yourself if shot at the ground underneath you or a wall right in front of you.

Everything seems to work fine except when you shoot the rocket at a wall in front of you or the ground beneath you and you are not moving. If you are standing still the collider does not detect the hit. I am currently using OnTriggerEnter as my method of detection but I tried OnTriggerStay and it does not work at all. The only solution I could think of is instantiating the explosion at size 0,0,0 and quickly scaling it up thus nothing could be “inside” it when it is created, however, the explosion is only alive for 1 frame so there is no time.

Adding a rigidbody to the explosion prefab has fixed the problem.

Apparently without a rigidbody, a trigger can only detect moving objects.