call a another scripts function from a prefab

When I try to assign an object with the proper script, it won’t allow me to add it to the prefab (I even tried to link to link before it was a prefab) unless the game object i’m linking is itself a prefab

this is causing a problem because the function only runs on the clone, not the prefab


![using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class CardStats : MonoBehaviour


    public Deck deck;

    public int cardCost;
    public int cardHealth;
    public int cardDefense;

    public Text cardHealthText;
    public Text cardCostText;
    public Text cardDefenseText;

    public int cardID;

    // Use this for initialization
    void Start ()

	// Update is called once per frame
	void Update ()

        if (cardCost <= 0)
            cardCost = 0;
        if (cardHealth <= 0)
           cardHealth = 0;
        if (cardDefense <= 0)
            cardDefense = 0;

        if (Input.GetKeyDown(KeyCode.D))

            cardID = deck.tempDeck[0];
            Debug.Log(" Huh? " + cardID);][1]

sorry, not an answer just a commiseration. I find prefabs a slippery slope. I made an enemy a prefab for respawning but when respawned his waypoints were missing ( for patroling) so i had to make the waypoints prefabs as well…which opened another can of worms.I also discovered I need to drag the prefab waypoints into the enemies gameObject variable slot from the prefabs folder, NOT from the scene hierarchy