Instantiation and Deletion of objects each frame for laser

Hello, I’m quite new at Unity and have have decided to make an actual 2D game with a good base (unlike my other projects where I copied or improvised on the go).
I’m trying to make a laser gun type weapon in it which bounces off of mirrors. However, I’ve realized that if i want the laser to have different properties on the reflection (duplication of laser, different type of laser damage on bounce, etc) I’ll need to instantiate a new laser game object on bounce, shoot it, delete it each frame, and recalculate it again. I don’t know if this is a good implementation, and from what I understand, instantiating and deleting all laser sections (with their according line renderers) will cause the performance to tank. I’ve read about pooling objects, but I do not know how many lasers will bounce on screen each shot. Is the solution really deleting and creating them each frame, or is there something else i could do to shoot/draw them?
Many thanks.


There is no problem on Instantiate and delete objects, what iI dont see is why you want to instantiate and delete it every frame, i supose you want the player to see the laser light going through the scene, so it needs some time on the scene.

If you want to do it “instantly”, you should do Raycasting, not instantiate a gameobject and delete it. If you dont know what raycasts are, go look for tutorials, they are very usefull for what you are looking for,