Deleting actor with raycast but it's not updated to client

I think I’m asking again something very simple but I just don’t get whats wrong whit this

I’m trying to build Consumable actor item like in this tutorial but for some reason when I “click” on Actor its only destroyed on server when it should be seen by everyone. Clients can click on actor but only the server sees it been destroyed. And for some reason clients don’t see Traces at all

Thanks for help!

Player.h

#include "GameFramework/Character.h"
#include "Player.generated.h"
  
  UCLASS()
class Game_API APlayerSurvivor : public ACharacter
{
	GENERATED_BODY()
public:
  	void Use();

	class AConsumableActor* GetUsableInView();

	UFUNCTION(Server, Reliable, WithValidation)
	void ServerUse();

	void ServerUse_Implementation();

	bool ServerUse_Validate();
 }

Player.cpp

#include "Game.h"
#include "Player.h"
#include "ConsumableActor.h"
#include "Net/UnrealNetwork.h"  
  
void APlayer::Use()
{
	if (Role == ROLE_Authority)
	{
		AConsumableActor* Usable = GetUsableInView();
		if (Usable)
		{
			Usable->OnUsed(this);
		}
	}
	else
	{
		ServerUse(); 
	}
}
AConsumableActor* APlayer::GetUsableInView()
{ //handles Trace
	FVector CamLoc;
	FRotator CamRot;

	if (Controller == NULL)
		return NULL;

	Controller->GetPlayerViewPoint(CamLoc, CamRot);
	const FVector Direction = CamRot.Vector();
	const FVector TraceStart = CamLoc;
	const FVector TraceEnd = TraceStart + (Direction *5000.f);

	FCollisionQueryParams TraceParams(FName(TEXT("TraceTestConsumable")), true, this);
	TraceParams.bTraceAsyncScene = true;
	TraceParams.bReturnPhysicalMaterial = false;
	TraceParams.bTraceComplex = true;

	FHitResult Hit(ForceInit);
	GetWorld()->LineTraceSingleByChannel(Hit, TraceStart, TraceEnd, ECC_Visibility, TraceParams);
	
	DrawDebugLine(GetWorld(), TraceStart, TraceEnd, FColor::Red, true, 1.0f);

	return Cast<AConsumableActor>(Hit.GetActor());
}
void APlayer::ServerUse_Implementation()
{
	Use();
}
bool APlayer::ServerUse_Validate()
{
	return true;
}

And ConsumableActor.h

#include "GameFramework/Actor.h"
#include "Net/UnrealNetwork.h"
#include "ConsumableActor.generated.h"

UCLASS(ABSTRACT)
class Game_API AConsumableActor: public AActor
{
	GENERATED_BODY()
public:	
	AConsumableActor(const FObjectInitializer& ObjectInitializer);

	UPROPERTY(VisibleAnywhere, Category = "Mesh")
		UStaticMeshComponent* MeshComp;
		
	virtual void OnUsed(APawn* InstigatorPawn);

	UFUNCTION()
	void OnPickedUp();

	UPROPERTY(Transient, ReplicatedUsing = OnPickedUp)
		bool CIsActive;
};

ConsumableActor.cpp

#include "Game.h"
#include "ConsumableActor.h"

AConsumableActor::AConsumableActor(const class FObjectInitializer& ObjectInitializer)
	: Super(ObjectInitializer)
{
	MeshComp = ObjectInitializer.CreateDefaultSubobject<UStaticMeshComponent>(this, TEXT("Mesh"));
	RootComponent = MeshComp;

	CIsActive = false;
}
void AConsumableActor::OnUsed(APawn* InstigatorPawn)
{

	CIsActive = true;
	OnPickedUp();
}
void AConsumableActor::OnPickedUp()
{
	if (CIsActive)
	{
		if (MeshComp)
		{        //Destroys actor
			MeshComp->SetVisibility(false);
			MeshComp->SetSimulatePhysics(false);
			MeshComp->SetCollisionEnabled(ECollisionEnabled::NoCollision);
		}
	}
}
void AConsumableActor::GetLifetimeReplicatedProps(TArray<FLifetimeProperty> & OutLifetimeProps) const
{
	Super::GetLifetimeReplicatedProps(OutLifetimeProps);

	DOREPLIFETIME(AConsumableActor, CIsActive);
}

I quess I dont need answer anymore