Need help with syncing interactions with clients for Netcode for gameobjects

Hello, I really need help with this issue im having, I tried making a serverRpc that would alllow all clients to interact with gameobjects, however, I am getting this error. (Does not happen on the host)

Unity.Netcode.Editor.CodeGen.NetworkBehaviourILPP: Assets\Interactor.cs(39,9): error  - InteractWithObjectServerRpc - Don't know how to serialize UnityEngine.GameObject. RPC parameter types must either implement INetworkSerializeByMemcpy or INetworkSerializable.

I have implemented the INetworkSerializeByMemcpy but still no luck, any help would be appreciated.

using System.Collections;
using System.Collections.Generic;
using Unity.Netcode;
using UnityEngine;

interface IInteractable
{
    public void Interact();
}

public class Interactor : NetworkBehaviour, INetworkSerializeByMemcpy
{
    private Transform source;
    public float range;

    private void Start()
    {
        source = GetComponent<Transform>();
    }

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.E))
        {
            Ray r = new Ray(source.position, source.forward);
            if (Physics.Raycast(r, out RaycastHit info, range))
            {
                if (info.collider.gameObject.TryGetComponent(out IInteractable interactObj))
                {
                    InteractWithObjectServerRpc(info.collider.gameObject);
                }
            }
        }
    }

    [ServerRpc]
    public void InteractWithObjectServerRpc(GameObject interactable)
    {
        if (interactable != null && interactable.GetComponent<IInteractable>() != null)
        {
            interactable.GetComponent<IInteractable>().Interact();
        }
    }

}