I’m calling a netmulticast function from a server function
/////////////////////////////////////////////// InstancedItemContainer.h
UFUNCTION(Server, Reliable, WithValidation)
void SetupInstances();
bool SetupInstances_Validate() { return true; };
void SetupInstances_Implementation();
UFUNCTION(NetMulticast, Reliable, WithValidation)
virtual void AddInstance(const FTransform& WorldTransform, int32 InstanceNumber);
virtual bool AddInstance_Validate(const FTransform& WorldTransform, int32 InstanceNumber) { return true; };
virtual void AddInstance_Implementation(const FTransform& WorldTransform, int32 InstanceNumber);
/////////////////////////////////////////////// InstancedItemContainer.cpp
void AInstancedItemContainer::SetupInstances_Implementation()
{
// blah blah blah
AddInstance(ActorItr->Mesh->GetComponentTransform(), ActorItr->InstanceNumber);
}
void AInstancedItemContainer::AddInstance_Implementation(const FTransform& WorldTransform, int32 InstanceNumber)
{
InstanceNumber = InstancedMesh->AddInstanceWorldSpace(WorldTransform);
if (Role == ROLE_Authority)
{
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Server!"));
}
else
{
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Client!"));
}
}
and for some reason it only gets called on the server
is there something im missing? the actor is replicated