Sorry, i was going to elaborate on that but before i needed to test something and then i got sleepy haha. I don't know what omoney means by saving instances variables so i assume he just wants to save the value of @somevariable. Instances variables belongs to specific objects and can be referenced from any method of their class or subclass but the value of any unintialized instance variable is nil, so if he saves a instance variable when he loads the game that variable value will be nil. And if he initializes it again, it will recieve the first value he asigned and not the saved one. There's another problem, he can't simply put the code below in make_save_contents: Code: contents[:test] = @test Since @test won't be found if isn't initialized inside DataManager. The same for extract_save_contents, but as i said above it will get the original value and not the saved one. The right way to save an instance variable is through accessors, seting them inside objects that will be saved. So you're not necessarily saving an instance variable but an atribute to that object. I'm not sure if i explained it right (my english is not that good so it limits me...) or if i'm missing something but as far as i understand ruby and the rgss api, thats it.