MVC Am I using it right?

Hi everyone, and thank you in advance taking your time.

I’m used to using design patterns on C# with VisualStudio, but now I need to implement it in a game using Unity3D for the first time (and I’m being ASKED for it, so no way out), so first, I take my time and looked for other threads, and some helped me a lot, but as I need to be sure I’m using it right, I would like some help to evaluate my use of the MVC.

My game by the way, is basically a Visual Novel, so, lots of text, menus, some character’s transitions, and the least but more important, language o.

Model: I put all my variables in a class, regarding my character status, and created the methods to manipulate them, to load the text files (by the language), game logic, and as well saving and loading the game.

View: Some files, one for the main menu, one for conversations and other for the menu, create the game’s visuals dynamically and change the texture on planes.

Controller: A class that defines wich “view” and witch “model” are being used at the time. //that I have yet to separate it’s methods from the view and model classes.

I can’t help but feel that my Model seems odd and maybe I should create another layer for the languages.
But, as far as it is, I’m using it right? I mean, MVC?

Thanks again. :wink:

The description of your model sounds fine. The model describes the data of your software, how to load and save it and additional low level stuff that isn’t directly related to the business/game logic. Pure business/game logic should be handled by controllers. So loading the game logic would be done by the model, executing the game logic by the controller.
One important aspect of MVC is the separation of the model from the views. The views shouldn’t know about the model and vice versa. That’s the actual function of the controller. Never call functions of the model in the views directly or use model classes in a view. The controllers job is to feed the view with data and transmit data back to the model. Usually the controllers will hold the majority fo your non GUI code.

Thanks! I did some more research and your answer just completed i. Now I think things will work out.