Цитата
В том то и дело, что объектов В в сцену много спавнится и у них имя и тэг одинаковые, по этому нужно получить доступ именно к тому, который стал child объекту, который висит на public GameObject в скрипте
Если внутри одного S может быть только один B, то ниче не меняется, просто делаешь
Код
var b = obj.GetComponentInChildren<B>();
Если B это просто обьект без скриптов, можно сделать тупее:
Код
var t = obj.transform;
var b = t.GetChild(t.childCount - 1).gameObject;