Best practice for creating global "options" classes?

Hey all, I'm currently creating an Options screen for my game and I need to hookup all the variables I want the user to control through the options screen.

I'm not sure what the best way of doing this is. Should I use static variables I can access from any script like this:

// "OptionScreen" is a separate script which contains all my static variables
public int localBikeSpeed = OptionScreen.bikeSpeed;

Or should I use a singleton:

// "OptionScreen" is a separate script as a singleton containing private variables,
// accessible with public getters and setters
public int localBikeSpeed = OptionScreen.Instance.bikeSpeed;

These variables are changed by the user in the Options screen within the OptionScreen class. I also want to save the new settings to PlayerPrefs, so which approach is better? Static variables or Singleton?

Thanks in advance for any help!!! Stephane

from the viewpoint of a software engineer singletons are the most suitable way of coding this using classes. there are many reasons for that which they are advantages of singletons like control over setting values and late initializations and ...

in this way you can create manager classes that they are reusable in multiple projects. also you can add methods for serializing or saving variables in PlayerPrefs. there is not a big difference in terms of execution and performance and singleton's overhead is much small. using singletons can help you to validate setting of variables and ...

for more information read more about singletons and design paterns.

If you're using PlayerPrefs, you could do all that, as they do have the get/set methods already built in...

But if I was to suggest, I'd say the singleton (I don't know anything about it) because it uses a better convention.

However, I do understand static variables, so I mean, that's probably more common, and coule work as well...

But sense you're asking about the best "Practice", I say use the singleton. Again, that's Java convention. =) (Yes I do know its Javascript, I don't care, it's Java to me -.-).

But just my 2 cents =).