Implement cheat codes

The central mechanic of my game is to use cheat codes to win. I need an elegant solution that is easy to manage, even if there are lots of cheats. I don’t need to know the code yet, just the the technique, as figuring out the code isn’t a problem for me.

My guess is that i could make a cheatCode class (wich stores the right string of commands) and a script that checks the last inputs against all the instances of the cheatCode class. So when the right cheat is found, it triggeres a unique script (contained in each cheatCode class).
But is there a better way of doing things?


From what you said, Im assuming that you are going to compare a list of strings(the cheat codes) with the input string(the cheat code the user input) when the player hits the enter button. I suggest having an array of all possible cheat codes together with what script they will activate. the array will be from a class with all necessary data of cheat codes.

something like this:

 class nameOfYourScript : MonoBehaviour
    public class cheatData {
        //self explanatory
        public string nameOfCheat;
        // when the system found the cheat, which object in the scene where unity get the script
        public gameObject objectToCallScriptFrom;
        // name of function in script
        public string functionWhereYouCallScript;
    public cheatData[] cheatCodes;
    // compare the strings...
    //compare the strings...
    // action where system find a cheat code
    void OnCheatEnter(GameObject obj, string function)
        // Invokes the function
        obj.Invoke(function, 0f);

This is how I will do it. This code above is just a guide and may have errors, did not check i myself. However i hope it can help :). Good luck with your game development!