ох, здраствуйте
давайте начнем разгребать)
что понимается под "пушка ведет себя неестественно"?
из приведенного "обрывка" кода не понятно в чем разница у вас между спавном и существующим в сцене спраитом.
вообще не ясно как "пушка" выбирает цель, есть подозрение что вообще ни как.
target в скрипте пушки у вас как подставляется?? он один раз и навсегда ссылкой на префаб??
что вы пытаетесь сделать вот этой строкой ??
transform.right = target.position - transform.position;
вы же понимаете что (target.position - transform.position ) это вектор направления в сторону цели?
вы так вращаете объект в сторону цели??
про "пушка чтоб знала о всех врагах", это уже от архитектуры приложения. Как по мне при спавне вам бы запоминать созданный объект и складывать все эти объекты в список.
Ну и последнее, разбивать бы вам это дело на кучу мелких вопросов, а то вы получается хотите целый урок обучающий в одном вопросе)