In 5.7.1 I have third person rig from tutorial and the look input node does nothing only on clients. It works fine on listen server and all other inputs work in clients and server. I have tried standalone build and same issue. I verfiied the Gameplay Camera is activated in clients as i get the interpolations and boom settings etc.
Also if i go back to standard boom and camera third person setup then look works there too fine in clients.
Any settings i am missing for Gameplay Camera and multiplayer?
I was having the same problem rn. When I checked the logs I got the following error message:
LogCameraSystem: Error: No input component found on context owner âCameraComponentâ for node 'InputAxisBinding2DCameraNode_2
The internal BindActionValues code looks something like this:
if (InputComponent)
{
for (TObjectPtr<UInputAction> AxisAction : AxisActions)
{
FEnhancedInputActionValueBinding* AxisValueBinding = &InputComponent->BindActionValue(AxisAction);
OutAxisValueBindings.Add(AxisValueBinding);
}
}
else if (Params.Evaluator->GetRole() == ECameraSystemEvaluatorRole::Game)
{
UE_LOG(LogCameraSystem, Error, TEXT("No input component found on context owner '%s' for node '%s' in '%s'."),
*GetNameSafe(ContextOwner),
*GetNameSafe(CameraNode),
*GetNameSafe(CameraNode ? CameraNode->GetOutermost() : nullptr));
}
The reason why the âLookâ action was not working is that at the time you activated the camera component, you didnât had a valid InputComponent yet. In my case, I was activating the camera inside the character using the NotifyControllerChanged function. But at the time this function runs on my clients, the input component was not set yet. So what I did was move the camera activation logic inside my characterâs SetupPlayerInputComponent function.
If youâre activating on BeginPlay or a similar function try to move that to SetupPlayerInputComponent. That way itâs guaranteed to have a input component and you always activate for the correct character. I tested on listen-server and dedicated server multiplayer modes and it worked fine.