!!!Cannot detect collision,everything seems right

In my 2D game, my player has a box 2D collider, a circle 2D collider and a Rigidbody 2D components, the coin has a circle collider,I want the player to collide with the coin in order to get the coin and destroy the coin but it won’t work! My player is in Player layer and my coin is in default layer.(After I change them into the same layer,it won’t walk either.)

I have a C# script attach to the coin and my player has a tag named “Player”:

using UnityEngine;
using System.Collections;

public class Coins : MonoBehaviour {

	public GUIText cointext;
	public int curCoins;
	public int maxCoins=100;
	 


	void Update () {
		cointext.text = curCoins + "/" + maxCoins;
	}

	void OnCollisionEnter2D(Collision2D col){
				if (col.gameObject.tag == "Player") {
			            
						Destroy (gameObject);
			                        Debug.Log("!!!");
			                        curCoins++;

				}

		}

}

After I run the game,when the player get in touch with the coin, nothing happened! The “!!!” is not showing in the Console so it means collision is not there.

What is wrong?
And what the hell is the collision problem,why my player cannot collide with the coin!!??
Please help me. I am stuck in this problem for days.Thank you very much!

onCollisionEnter2D is written OnCollisionEnter2D. It needs the capital O to work :slight_smile: