Actor component SetHiddenInGame not working when called in client net multicast function

There’s nothing wrong at all with your multicast function, you just need to replicate the shield variable.

UPROPERTY(EditDefaultsOnly, replicated, Category = "MyVars")
	AActorShield* shield;

void AMyProjectCharacter::GetLifetimeReplicatedProps(TArray< FLifetimeProperty > & OutLifetimeProps) const
{
	Super::GetLifetimeReplicatedProps(OutLifetimeProps);
	DOREPLIFETIME(AMyProjectCharacter, shield);
}