Whenever I reload the current scene, my game gets a somewhat big lag spike. That wouldn't be too big a deal, except it's a pretty difficult game, so if there was a lag spike every time you reset the level it would get annoying quick. I'm not really sure how I would go about optimizing this, so any ideas are appreciated.
Update: I've found a way to "soft reset", as Lopy suggested. For a while I was stumped on how to do it, but it's actually pretty simple. Just make a group for the things that need to be reset, add functions to make them reset however you need, and then use
get_tree().call_group(). Really simple, actually. I just forgot groups existed for a while, haha