OnTriggerEnter(...) I give up......

According to the bottom table here I should be getting an OnTriggerEnter(…) call in one of my scripts at least but I am not.

All the game objects concerned have a sphere collidors and kinematic rigid bodies. Some of the collidors are triggers but it does not make any difference if I make all the relevant colliders triggers.

OnTriggerEnter(…) is not called in any scripts regardless of what I do.

So what is exactly that I have to do to get this function to trigger?

Two objects with a kinematic rigidbody and a trigger collider will fire OnTriggerEnter when their colliders intersect. Are your scripts on the same objects as the colliders?

On the collider make sure your “on trigger” is enabled.

Certain of it.

Is OnTriggerEnter called in the script that is attached to the object with the trigger option checked in its collidor component?

Yes, its called in the script of the trigger collider, not the rb object that enters it

Never mind…wrong function parameter…Collision instead of Collider

But now the function is being called on startup when the two objects are no where near each other. Is that supposed to happen? Do you need to look at the contents of collider parameter to check if a collision has happened?

Must still be colliding with something, but yes in the trigger enter you should check for a tag or the existence of a certain script to make sure it’s the right collision.

Add a debug log to check what it is ACTUALLY colliding with there may be a mistake and may collide with something else.

Debug.Log("It has collided with " col.gameObject.name);