Thank you for this explanation it helped me a lot, but i have this hook class follow this below:
public class Class1
{
public static GameObject load_object;
public static void Load()
{
load_object = new GameObject();
load_object.GetComponent<Hacks>();
UnityEngine.Object.DontDestroyOnLoad(load_object);
}
it doesnt show any error, i've created this class called "Hacks" and i created the functions Start, Update, OnGUI, but this function called "Update" and the others functions dont make anything, i've called this "Load" function at Assembly-CSharp i put in the Shoot function to make the test, it doesnt work

do you know why the values dont change?