public void RaycastFire(int damage, float range, float force) { Vector3 castOrigin = fpsCamera.ViewportToWorldPoint(new Vector3(0.5f, 0.5f, 0)); RaycastHit target; if (Physics.Raycast(castOrigin, fpsCamera.transform.forward, out target, range)) { //code to damage goes here EnemyController enemy = target.collider.GetComponent <EnemyController>(); if (enemy != null) { enemy.Damage(damage); enemy.AddKnockBack(fpsCamera.transform.forward, force); } } }