Using PhotonFusion with DoTween


Hello everyone,
I want to move an object using Photon Fusion, and I need to do this with DoTween. However, I cannot make the movement work. I can achieve the desired movement using transform.position, and I can also achieve it with DoTween. However, when I try to perform the DoTween operation on a NetworkedObject, no movement occurs. The NetworkObject also has the NetworkTransform component. Is this possible? I’ll leave my code block below. Thank you for taking the time to help!

[Networked] public bool isCardMoving { get; set; } = false;
[Networked] public NetworkObject TargetObject { get; set; }
private void Update()
{
    if (CardManager.instance.Counter.RemainingTime(Runner) <= 3f && isCardMoving)
    {
        isCardMoving = false;
        arrowDrawer.RemoveArrow();
        
        transform.DOMove(TargetObject.transform.position, 2.9f);
        
        Debug.Log(TargetObject.transform.position);
 
    }

If you check the DisableSharedModeInterpolation flag on the NetworkTransform, it should work. The reason it doesn’t work currently is because if you do not check this updating the position is only allowed in FixedUpdateNetwork.

First of all thank you for your feedback.
I followed your suggestion, but the issue remains the same. In fact, I had already tested it with the latest Update, and my code stayed that way. Initially, I was using it with FixedUpdateNetwork, and I started the game in host mode. Do you have any other suggestions for a solution?

public override void FixedUpdateNetwork()
{
    if (!Runner.IsServer) { return; }
    if (CardManager.instance.Counter.RemainingTime(Runner) <= 3f && isCardMoving)
    {
        isCardMoving = false;
        arrowDrawer.RemoveArrow();
        transform.DOMove(TargetObject.transform.position, 2.9f);
        Debug.Log(TargetObject.transform.position);

    }
    if (CardManager.instance.Counter.Expired(Runner) && isPlaying)
    {
        isPlaying = false;
        CardManager.instance.Counter = TickTimer.None;

        transform.DOLocalMove(StartPosition, 0.5f);

        RPC_PlayCard(TargetObject, gameObject.GetComponent<NetworkObject>());
    }
}