using System.Collections;
using System.Collections.Generic;
using UnityEngine;

    public class Projectiles : MonoBehaviour
    {
        public float range = 50.0f;
        public float enemyGunImpulse = 20.0f;
        // The target marker.
        [SerializeField] Transform playerShip;
        [SerializeField] Transform target;
        [SerializeField] Transform parent;
        // Angular speed in radians per sec.
        [SerializeField] float speed;
        bool onRange = false;
        public Rigidbody projectile;
        private void Start()
        {
            float rand = Random.Range(1.0f, 2.0f);
            InvokeRepeating("Shoot", 2, rand);
            AddSphereCollider();     
        }
    
        private void AddSphereCollider()
        {
            Collider sphereCollider = gameObject.AddComponent<SphereCollider>();
            sphereCollider.isTrigger = false;
        }
    
        void Shoot()
            {
    
                if (onRange)
                {
    
                    Rigidbody enemyGun = (Rigidbody)Instantiate(projectile, transform.position + transform.forward, transform.rotation);
                    enemyGun.AddForce(transform.forward * enemyGunImpulse, ForceMode.Impulse);
                }
            }
        void Update()
        {
            Vector3 targetDir = target.position - transform.position;
    
            // The step size is equal to speed times frame time.
            float step = speed * Time.deltaTime;
    
            Vector3 newDir = Vector3.RotateTowards(transform.forward, targetDir, step, 0.0f);
            Debug.DrawRay(transform.position, newDir, Color.red);
    
            // Move our position a step closer to the target.
            transform.rotation = Quaternion.LookRotation(newDir);
       
            onRange = Vector3.Distance(transform.position, playerShip.position) < range;
    
            if (onRange)
                transform.LookAt(playerShip);
        }
    }

You’re destroying the bullet immediately after creating it.

Hi, I want to Thank you for responding. I was able to get the enemy gun to kill the player finally but the death fx explosion for the player doesn’t happen? Any feedback is appreciated :slight_smile:

I removed this line of code: Destroy(bullet.gameObject, 2);