Attaching a script to empty game object vs attaching it to the main camera

In the case of some scripts that should always be running, such as anything dealing with OnGUI(), is there any difference between attaching them to a completely empty game object versus attaching them to the main camera? Is there an “Unity way”, some common convention or just performance implications when dealing with certain platforms?

hmm i dont think it matters as long as the object sticks around.
empty game objects are easier to keep track of specific things, like you can call it “score manager” and have all your score scripts there.

It doesn’t matter - you can set it up however it makes sense to you.

There’s nothing special about the ‘main camera’ in a Unity scene. Not all scenes have a ‘main camera’, and for those that do, the main camera is just an object with some components attached to it, just like every other game object. There’s no rule that says you have to have a main camera, or have to attach the audio listener to the ‘main camera’ game object, or have to set things up any particular way in general. (In other words, there’s no particular ‘Unity way’ as far as this goes.)

OK, that explains that then. Thank you for the replies.