The levels in Castlevania games, you walk forward and then come to a point on the level where the screen stops scrolling but is not a deadend and there's no door either. They just wanted to transition to the next room for some reason (like a hallway transitioning to another room).

I want to create something like this in Unity, using 2.5d (3d characters constrained in 2d plane); question is, do I separate each transition to a scene? But that seems kinda wasteful (I don't know, maybe). Or just one scene and develop the level as a whole and do some camera programming for the transition making sure everything lines up?


Both options are viable.

But separating your game into multiple scenes can have various advantages. It's better for performance to have less "stuff" in the scene at once (while Unity can do some culling on its own to reduce the overhead of rendering things which are not on the screen, some overhead still remains) and most importantly it allows multiple level designers to work on different parts of the game at the same time.

The downside is that it makes the transitions a bit more complicated to handle, because you need to load one level, do the transition and unload the old. All without interrupting the game.

The easiest one is a fade-to-black transition where you use a post-processing effect to turn the screen dark, switch to the next level, and then turn the screen bright again. See "What is the proper way to handle data between scenes?" for how to make sure your gamestate information survives the transition. Another option is to load the new scene with LoadSceneMode.Additive so both scenes coexist at the same time, do the transition, and then unload the old scene.

There are also various other approaches you could take. Which one is "best" depends on what aesthetic you are aiming for in your level transition and what fits into the architecture of your game.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.