I can't create a blueprint based on a character i made in C++

I can’t create a blueprint bade on a charade i made in C++
(I made this code from the Twin Stick Shooter tutorial from Unreal YouTube Channel

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

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

UCLASS(Blueprintable)

class TWINSHOOTERGAME_API ABaseCharacter : public ACharacter
{
	GENERATED_BODY()

public:

	//Step 2: Expose a float property
	UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "BaseCharacter")
		float Health = 100;

	//Step 3: Expose a boolean property
	UPROPERTY(BlueprintReadOnly, VisibleAnywhere, Category = "BaseCharacter")
		bool isDead = false;


	//Step 4: Make a helper function, just because we are lazy
	virtual void CalculateDead();

	//Step 5: Expose a method
	UFUNCTION(BlueprintCallable, Category = "BaseCharacter")
		virtual void CalculateHealth(float delta);


	//Step 6: Editor code to make updating values in the editor cleaner
#if WITH_EDITOR
	virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
#endif

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

	// 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;

	
	
};

If your class is cleanly compiling, stop the editor and start it again to make sure it has reloaded. Then this class should appear when you “Add New”->Blueprint->Blueprint Class and then search in the “All Classes” list for it’s name.

I have a lot of trouble making a new class appear if I don’t reload the editor.