Casting with TSubclassOf?

I’m not entirely sure what you’re trying to do, but casting e.g. to AWeapon* will succeed for all subclasses of AWeapon.
So I think what you’re looking for is just to check whether the cast results in null or not.

i.e.

AItem *Item = Cast<AItem>(OtherActor);
AWeapon* Weapon = Cast<AWeapon>(OtherActor); // LOOKING FOR A WAY FOR OTHERACTOR TO BE A TSUBCLASSOF SUBTEXT

if (Item)             //if the collided actor is an Item
{
	GEngine->AddOnScreenDebugMessage(-1, 2.f, FColor::Red, TEXT("YAY"));
	....
}

if(Weapon)
{
	....
}