Do you have a picture of what “instantiating a second bullet to the right” means? My guess is that your bullets pushed each other outside of their collision boxes, but it’s hard to tell from the description.
Yeah but how do I write that rotation for “YOURROTATION”? Wouldn’t it be the same issue? I need to figure out how to instantiate and changing only one axis angle.
So by this I guess you mean you want to shoot one backwards?
I believe you can just do Quaternion.Inverse on your firePoint.rotation.
EDIT: the above might flip the sprite upside down too so that may not be wanted. In that case you can use your firePoint.forward, reverse it and use look rotation:
Vector3 backwardsDirection = -firePoint.forward;
Quaternion reverseRotation = Quaternion.LookRotation(forward: backwardsDirection, upwards: Vector3.forward); //assuming forward is towards the screen
Instantiate(swordToFire, firePoint.position, reverseRotation);
It sounds like your project might be 2D; the same concepts apply from 3D. You can set the position AND the rotation of any object once it’s been instantiated. You have to decide what position you want, and what rotation you want. There are methods on Transform, on Vector3 or Vector2, and on Quaternion classes which can calculate those values.
I’m going to assume that ‘transform’ refers to the projectile’s own transform, and that clearly isn’t right. Get the direction you fired the original project at, and put a - in front of it. That’s the direction you send the other projectile in.
Man I figured this out! The issue is the bullet script was in update, so the rotation was never happening quite right. So essentially I had to create a bool protected method in that script and call it while passing a bool condition. Worked it out, I’m just dumb (face palm).