ContextualAnimScene, really weird design

Hello,

I find the ContextualAnimScene having a really weird design.

Assuming a leader of the interaction can have multiple actor interacting with him, I can’t understand why the RepLateJoinData is not designed to handle multiples roles.. (cf. LateJoinContextualAnimScene).

With this design, if we have multiple replicated actor interacting with one actor using CAS, only the latest actor that late join will be replicated.

Am I using wrong or this is supposed to be changed ?

Also the choice of not making methods virtual make it really hard to override and adjust.

I am thinking of just copy paste all the class and modifying it in my project.

My opinion it’s that is mainly designed for interaction between 2 actors, but we can have many interactors interacting with the leader

Using Unreal 5.4 and can’t upgrade.

Thanks.

Update :

I identified in the method OnRep_LateJoinData, this is the issue.
This check doesn’t make sense since Bindings is filled when JoiningScene or LateJoiningScene, so for sure it will not be valid until it has been replicated…

if (!Bindings.IsValid())
{
	UE_LOG(LogContextualAnim, Warning, TEXT("%-21s UContextualAnimSceneActorComponent::OnRep_LateJoinData Invalid Bindings"), *UEnum::GetValueAsString(TEXT("Engine.ENetRole"), GetOwner()->GetLocalRole()));
	return;
}