Scene vs project.

I know a project is like a level. I can save a project.

  1. But what is scene file used for?
  2. When I save my project is my current scene saved too?

Thanks

Actually, a project would be your game or whatever your building.

A scene is a level, or at least a container for one. Some designs may have a scene for each level while others may have a scene for all levels (if they’re created dynamically, say). A scene may also be used for the welcome screen, a config screen, intro and other movies, and a credits.

A project contains all the scenes and all the assets (models, graphics, sounds, code).

When in play, there is always a scene loaded as this without a scene there is no camera or models in play.

Hope that helps!

1 Like

And to be clear, you never “save your project”, the only thing you save is the currently open scene. As Timmer noted, scenes are containers which can contain one level or many levels, it’s up to you to decide how you want to break things up.

If your game consisted of one scene/level (say Will Goldstone’s great Island based game), how would you load a new scene/level ?

Thanks

At run-time? You don’t, it only has one scene/level present. You can of course use code to dynamically load assets if necessary to build additional areas.

At author-time? Just create a new Scene via the File menu, then hit save.

I want to believe I don’t have to save my project, but why there is a save project feature?

Thanks

In the system I am more familiar with (but now abandoning in favour of Unity) you load completely new levels using a level_load() command. These levels are re-usable .map or .wmb files.

Using Will’s Island game as an example, how would I, say, teleport to a city on some event ?

I understand that I don’t change scenes, as it’s been stated that a scene can contain many levels.

What confuses me, is, what is a level in Unity ?

Thanks

It’s whatever you define it as. Unity gives you freedom in that regard, instead of trying to pigeonhole you into one particular design paradigm.

As far as your island game example, you could easily use the same design paradigm as your old engine. Create the city in a separate scene (level) and use Application.LoadLevel() to do just as you are used to.

Or, you could simple create the city in the same scene/level but far away in distance out of sight. Simple move the avatar from the island to the city.

Or, you could dynamically de-spawn the island and load up objects for the city on the fly within the same level.

Like I said, unity gives you complete freedom. It’s up to you to pick a design that you’re comfortable with.

Project = game.
Scene = level within that game.

Hi Quietus

Got it !

Thanks

No problem, glad I could help clear it up for you. The same thing confuzzled me when I first bought Unity. I remember going through the 3d platformer tutorial at a point where it said something akin to ‘create a new level for your splash screen.’

I swear I must have spent an hour going through all the menus looking for ‘New Level’ until it all dawned on me!