Avoid using Update calls?

Hello, I have some kind of low fps problems that just got worse by time as I added more and more objects into my game. As things are, I’m about 20-25 fps in editor, that is way too low for the barely any content I have.

Before I start to do anything as it may be much stuff to implement, like measuring time or changing the whole approach, I’d ask what’s the best way to go. Right now I’m very tempted to use a linecast from the player object and upon the interact key press, it would call the appropriate functions on objects instead of they would check for the met conditions like distance with each update.

This would change their updates with a simple function that could be called through the GetComponent way, probably would need me to port lots of JS code though. I don’t have Unity Pro so im not even sure if the updates cause the problem, but i’m almost sure that my original approach is flawed and will just cause more performance loss. What would be the right way? Is the linecast method effective?

Thanks for your replies in advance.

I’m not really “sorry” for this thread, because you showed me great stuff about Update calls but the problem was about the shaders. I’m using shader effects from a package called Indieffects and they seem to cost about -20 FPS each. I attached the script twice as I would have needed a change in the effect at some point but I will need to do it some other way, because without any of them I get 60 FPS, with radial blur it’s 30-40 FPS, and with the both attached it was mostly around 20 FPS.

If I could then I’d choose the comment of getyour411 as an answer, but really thanks for everyone for the suggestions.