Я бы проверял наличие навешенного скрипта и исходя из этого получал публичную переменную
if (object.GetComponent<ScriptName>())
{
x = object.GetComponent<ScriptName>().y;
}
Раз у вас префабы, вы, вероятно, знаете все возможные варианты наличия скриптов и переменных в них.