Would a change in the timestep of FixedUpdate allow for collisions of smaller, faster moving colliders?

Hi there.

I’m relatively new to Unity and I just have a small question about collisions and physics.

My project:

I have managed to create a “background” coordinate system that uses doubles instead of floats in order to accurate portray an objects position at a much larger distance from the worlds origin. I am combining this positioning system with multiple “Sectors”, each a 10000 unit worldspace representing a single block in a large 3d grid. Long story short, my unity world is now solar-system-scale.

The problem i’m now facing is that, in reality, objects in space are moving at speeds that are hard to fathom and accordingly I cant have a Spaceship or asteroid zooming across the game that fast, so i am also lowering the scale of objects. In order to make the whole concept work well with the engine, I have a spaceship roughly 100m long scaled down to be 1mm long.

And here is the problem:

I have two spaceship representations each 1mm long are moving through worldspace at a speed of 100m/s (When returned to normal scale this speed is enormous, however it could be reached quite easily irl). These two ships are placed on a direct collision course with other, yet they do not collide. My theory is that due to their small size and fast movement, they simply move straight through each other before the next physics update can detect the collision (100m/s = 2m/FixedUpdate).

And here is my question:

If i were to change the timestep in the physics settings to occur more frequently, would there be a higher chance of the collision being detected?

Sorry for the extremely lengthy explanation. A simple yes or no would suffice and i can get back to brainstorming.

Thanks heaps.

I don’t know if it will work but,
You will want to set the collision detection to Continuous in the Inspector, and you may need to change some values in the Physics setup (Edit->Project settings->Physics).

I don’t think a change of FixedUpdate rate would make any difference.

Reducing the fixed timestep will increase the physics framerate thus the physics will be more accurate at the expense of the CPU. Also general physics movements like when using AddForce will appear to be slower.

I haven’t found the description about that in Unity documentation, but, from my experience of physics simulation on Unity using Collider, making Fixed Timestep smaller result in numerical stability of collision increasing.
In my case, I calculated the force between colliders by OnTriggerStay method because of the physical accuracy, and the frequency of calling OnTriggerStay was changed by Fixed Timestep change.