TSubObjectPtr problems for a noob programmer

replace it with

class USphereComponent* Sphere;

The other way was a workaround on older versions

Hello UE4 community! I’ve been diligently clawing my way up from the bottom of the C++ pits up the alabaster tower of programming, copying and trying to understand the theory and code bit by bit. Unfortunately I have ran into a snag. The tutorial I an doing is for an earlier version of UE and I do not possess the knowledge to deal with this on my own accord. This is what the tutorial dictates for me to do but unfortunately it seems that the TSubobjectPtr<> has been deprecated and is no longer usable. What do I need to do to fix this and most importantly how/why? Thank you all in advance!

#pragma once

#include "GameFramework/Character.h"
#include "NPC.generated.h"

UCLASS()
class GOLDENEGG_API ANPC : public ACharacter
{
	GENERATED_BODY()
		UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Collision)
		TSubobjectPtr<class USphereComponent> ProxSphere;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = NPCMessage)
		FString NpcMessage;

public:
	// Sets default values for this character's properties
	ANPC();

	// Called when the game starts or when spawned
	virtual void BeginPlay() override;
	
	// Called every frame
	virtual void Tick( float DeltaSeconds ) override;

	// Called to bind functionality to input
	virtual void SetupPlayerInputComponent(class UInputComponent* InputComponent) override;

	
	
};