Why is that collision-detection-selection “continous” or “discrete” in Rigidbody(2D) and not in Collider(2D)?!
Even if i want that collider only to be a trigger and not a physical (rigid) object and i want continous-detection?
Hope you understand my question.

Thanks in advance.
Chris
Because in order to register a collision between two objects, at least one of them must have a rigidbody attached to it. Two objects with just a collider component and no rigidbody component won’t register a collision at all.
So the rigidbody component is the best place in which to put the type of behaviour you want (discrete, continuous or continuous dynamic).
1 Like
Hello @Galandil.
Thanks for your answer and if its correct i am happy (and a bit disappointed).
-happy: cause i learned sth. about unity-engine.
-disappointed: about the unity-engine
Here is why i am disappointed:
Maybe I want to collide two colliders with each other (no physical-objects, Harry-Potter-Style forcefields or whatever), and I cant select the type of “collision-detection”, to get the correct position of where it happens… 
Especially as I am setting the Collider-mesh/polygon in the collider- , not in rigidbody-settings.
I do not find the logic in behind.
Thx for your answer.
Chris
You’re confusing the type of collision with the frequency of collision detection.
The three settings of collision detection are these:
- Discrete: the physics engine checks if the object collides (physics and/or trigger collision) with another collider every Time.fixedDeltaTime seconds (default 0.02 seconds)
- Continuous: the physics engine checks continuously if the object collides with a static mesh geometry, even between two physics engine updates (so higher frequency than the 0.02 default seconds) - a static mesh geometry is any mesh collider without a rigidbody attached to it
- Continuous Dynamic: same as Continuous, but now even collisions with an object with a rigidbody set to Continuous are reported.
Clearly, Discrete is the less taxing option, whereas Cont. Dyn. is the most expensive one in terms of resources, and the latter two should be used only in presence of very fast moving objects which don’t report collisions when set to Discrete.
Now, regarding your example, you can do what you said, just by using, on one of those objects, a rigidbody component set to Static.
And there’s a reason for this separation between colliders and rigidbodies.
Imagine you have three objects, A, B, and C. You want B and C to be able to collide with A, but not between them. If all colliders would report a collision, then you couldn’t avoid the collision event between B and C (and you would have to check in the script of both B and C the name of the colliding object passed as an argument, and if it’s the other one you have to exit the method with a return).
Instead, in this way, you can have a rigidbody only on object A, and only colliders on B and C, so the latters can collide with the former, but they don’t report anything if they collide between them.
Think of all the scripting work saved if there’s a (very) high number of objects like B and C, you can basically have a set of objects which collide with all the others, but not among themselves.

2 Likes
Thanks @Galandil.
I hope i know what you mean, but i think i have to read it once (and maybe another time) again for a 100% understanding.
…and think about it.
But I am pretty sure, i got a̶̶n̶̶s̶̶w̶̶e̶̶r̶̶s̶ questions in future.
Thank you for your considerable commitment
Chris.
1 Like