(Not a total novice) Player keeps passing through collectible items

Hello, I’m not sure if this is the right spot to post this, I’ve never had to post on here before.

So I’m making the most basic thing. Player is supposed to “pick up” collectible items. I just want them to disappear, nothing fancy yet. Thing is, I’m using the exact same code from the official Unity tutorial, I’ve checked the tags countless times, nothing is marked kinematic, the collectibles are indeed triggers. This isn’t the first time I’ve followed this tutorial, but the time before I actually deviated more from it (made it more like Katamari, I DO NOT want that this time around, I want it much closer to the original tutorial) so I can’t use that script as reference let alone reuse it. No errors, I didn’t even do anything that would have removed any punctuation. Even all the names match.

using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.InputSystem;

public class playermovement : MonoBehaviour
{
 // Rigidbody of the player.
 private Rigidbody rb; 

 // Movement along X and Y axes.
 private float movementX;
 private float movementY;

 // Speed at which the player moves.
 public float speed = 0; 

 // Start is called before the first frame update.
 void Start()
    {
 // Get and store the Rigidbody component attached to the player.
        rb = GetComponent<Rigidbody>();
    }
 
 // This function is called when a move input is detected.
 void OnMove(InputValue movementValue)
    {
 // Convert the input value into a Vector2 for movement.
        Vector2 movementVector = movementValue.Get<Vector2>();

 // Store the X and Y components of the movement.
        movementX = movementVector.x; 
        movementY = movementVector.y; 
    }

 // FixedUpdate is called once per fixed frame-rate frame.
 private void FixedUpdate() 
    {
 // Create a 3D movement vector using the X and Y inputs.
        Vector3 movement = new Vector3 (movementX, 0.0f, movementY);

 // Apply force to the Rigidbody to move the player.
        rb.AddForce(movement * speed); 
    }

 void OnTriggerEnter(Collider other) 
    {
 // Check if the object the player collided with has the "Collectible" tag.
 if (other.gameObject.CompareTag("Collectible")) ;
        {
 // Deactivate the collided object (making it disappear).
            other.gameObject.SetActive(false);
        }
    }


}

You have a semi-colon at the end of your if statement. I think this means it will do nothing in response to the if.