title: Collision callback function not called
body: <p>i am bloody beginner with Unity and i am currently working on a 2D Brawler. The movement works perfectly but my colliders don't do what they should... I want to detect if two GameObjects Collide (Spear and Player2) and if the collide Player2s healthPoints should decrease by Spears AttackDamage. </p>
  
  <p>The names of the GameObjects are also their tags. The Spears Prefab has following configuration: SpriteRendered(Material Sprites-Default), BoxCollider2D(Material None Physics Material 2D, IsTrigger(not activated), UsedByEffector(also not activated) Rigidbody2D(Kinematic, None Material, Simulated(Activated), KinematicContacts(activated), Standard configs for the rest)) </p>
  
  <pre><code>using System.Collections;
  using System.Collections.Generic;
  using UnityEngine;
  public class SpearCtr : MonoBehaviour {
  
      public Vector2 speed;
      public float delay;
      Rigidbody2D rb; 
  
      void Start ()
      {
          rb = GetComponent&lt;Rigidbody2D&gt;();
          rb.velocity = speed;
          Destroy(gameObject, delay);
      }
      void Update ()
      {
          rb.velocity = speed;
      }
  }
  </code></pre>
  
  <p>The Players Configurations
  The Spears Configurations
  This was the code i have tried before</p>
  
  <pre><code>OnCollision2D(Collision2D target);
  {
      if (target.gameObject.tag == "Spear")
      {
          hp = -1;
          if (hp &lt;= 0)
          {
              alive = false;
          }
      }
  }
  </code></pre>
  
  <p>I hope someone can tell me how to get this working
  Thanks for all the answers 
  (BTW sorry for my bad english I am austrian)
  <a href="https://i.stack.imgur.com/MOd3a.png" rel="nofollow noreferrer">enter image description here</a></p>
  
  <p><a href="https://i.stack.imgur.com/HYiNt.png" rel="nofollow noreferrer">enter image description here</a></p>