Newbie - Scenes, and levels, and screens

I am planning out my first “real” test project with Unity. I’ve been reading through the docs, examples, etc and the code structure, etc seems fairly straight forward. What I am having trouble finding is more on “best practices” for how and what certain options are used for.

Coming from a background of Director/Flash development (time line), Javascript (HTML/Page type setup), and web programming (Classes, and a “page” model). In most of these there would be a separate page or marker in a time line for each step below, but I don’t quite get how Unity best handles these.

In the docs I have found references to scenes, GUI, levels, etc and am not sure the best approach to take to building something roughly like this…

The program starts on a splash screen. The user clicks and goes to a menu.

Screen 2 - (Should this be a separate scene?) - Simple menu choosing load, Easy, Medium< Advanced. I assume the GUI would be best used here, but again, is this a scene?

Once they play the puzzle would use the same base code but each level would just load up variables to describe it. IE obstacles, speed, etc. While these are “levels” I am no sure this really fits with Unity’s intent on levels. Can a level simply be a scene of sorts with an empty game object on screen with variables set to instantiate the variables and objects, or is this intended to be more of a mass of assets?

Thanks for any pointers. Just don’t want to over complicate or box myself into a corner with this.

-Chuck

Answering some of my own questions. I think I get scenes a bit better. Load level loads a scene, correct?

I just need to make sure variables, etc carry over.

I am making a few prefabs as well and the docs say I can then delete the originals, but if I do that how can I go back and edit the elements of the prefab? Should I keep an unused scene to have my “build” pieces that I can go back and tweak as needed?

Thanks

Wassup Chuck? :slight_smile:

Yes, Application.LoadLevel loads the next level or “scene”.

You can create objects then have them persist across level loads using DontDestroyOnLoad.

If you want to later edit/update the prefab then you drag an instance into the world, edit/update it as you would like (possibly triggering an error message that you’re breaking the prefab connection, not a problem). When done select the edited version in the scene and use Game Object > Apply Changes to Prefab and you’ll “push” those changes on to the prefab. Done!

Hey! It’s Chuck!

Are we going to see mediamacros start stocking unity code now, too? :slight_smile:

Welcome! Can’t wait to see what awesome stuff you can do with Unity!

Jeff.