2D Player can not detect collectible / power up Game Object [Version 2019.5f.01]

I am trying to get a player to pick up an object in a 2D environment. The player can move onto the object, but the object is not registered as being picked up. The game runs without errors.

The pickup script looks like this:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PickUp : MonoBehaviour
{
    public GameObject pickupEffect;

    void onTriggerEnter2D(Collider2D other)
    {
        if (other.CompareTag("Player"))
        {
            PickUpAction(other);
        }
    }

    void PickUpAction(Collider2D other)
    {
        Debug.Log("Picked up powerup");

        //Instantiate(pickupEffect, transform.position, transform.rotation); (not yet implemented)

        other.transform.localScale *= 2;

        Destroy(gameObject);
    }
}

I checked the coin objects in the Unity Playground to see if there was anything I missed. It looks like there isn’t.

The object in my game has a Circle2D collider that fits the sprite and has On Trigger checked. The player has a Box2D collider that fits it and is tagged as “Player” in the drop-down menu.

What am I missing?

For reference, this is the Playground collectable script:

using UnityEngine;
using System.Collections;

[AddComponentMenu("Playground/Attributes/Collectable")]
public class CollectableAttribute : MonoBehaviour
{
	public int pointsWorth = 1;
	
	private UIScript userInterface;

	private void Start()
	{
		// Find the UI in the scene and store a reference for later use
		userInterface = GameObject.FindObjectOfType<UIScript>();
	}


	//This will create a dialog window asking for which dialog to add
	private void Reset()
	{
		Utils.Collider2DDialogWindow(this.gameObject, true);
	}


	// This function gets called everytime this object collides with another
	private void OnTriggerEnter2D(Collider2D otherCollider)
	{
		string playerTag = otherCollider.gameObject.tag;

		// is the other object a player?
		if(playerTag == "Player" || playerTag == "Player2")
		{
			if(userInterface != null)
			{
				// add one point
				int playerId = (playerTag == "Player") ? 0 : 1;
				userInterface.AddPoints(playerId, pointsWorth);
			}

			// then destroy this object
			Destroy(gameObject);
		}
	}
}

Thank you for your help!

Does one of your GameObjects has a Rigidbody2D assigned?
Because for collision detection at least one of your objects needs one.