i can see my objects collide but OnCollisionEnter never called c#

object 1 has

  1. Rigid body 2d:: is kinematic(unchecked)
  2. fixed joint 2d
  3. circle collider 2d::is triger (unchecked)
  4. c# script

object 2 has

  1. circle collider 2d::is triger (unchecked)

script using

using UnityEngine;

public class onColOccurs : MonoBehaviour {

void OnCollisionEnter(Collision collision)
{
   
    Debug.Log("OnCollisionEnter");
}
}

i can see both objects collide and stop yet function i not called any help would be great thanks

You are using 3D functions for 2D behaviour, change your code to this.

void OnCollisionEnter2D(Collision2D collision)
 {
    Debug.Log("OnCollisionEnter");
 }