I was looking at the Scripting Reference on Input, and I noticed that one of the input options was "GetMouseButton". Curious, I looked it up. I realized that this code could be used instead of using the axis, "Fire1". For example of the code difference :
I would suspect that they would do the exact same thing. So since I have the option to choose which one to use, I was wondering which was better to use performance wise. My guess would be "Mouse Button" because it doesn't have to check the Axis options in Unity before running. I'm not exactly sure though, so I'm trying to figure out the answer to this. I'm trying to get every last bit of performance out of my games, so even small things like this would make difference. Thanks in advance.
I think you are right: GetMouseButton should be more efficient, because GetButton must search for the name and handle more things. Unity probably uses a kind of dictionary to avoid comparing the name axis by axis, but this takes more time than accessing the input directly, for sure. GetButton must be used when the controls are configurable - when you have a setup screen in your game to allow the user modify the controls.
answered Nov 19 '11 at 07:16 AM