I planned how to structure the game within Unity, and decided to use multiple scenes for different aspects of the game. So for example, there’ll be a menu scene, a base scene which controls the overall behaviour of the game, and a scene for each area in the game. There’ll be several areas including the village, caves, a beach, and a prehistoric rainforest! The base scene will always be loaded along with the area scene the player is currently in.
I also wrote a character controller. We’re using Cinemachine to control the camera – it’s exactly what we need – a camera centred on the player’s character, constrained within a specific area. We’ve not done the animations yet, but here’s a rough version of what the characters will look like!
To transition between area scenes, I wrote an image effect shader which fades between the game and black, and back again. The code works out which area the player is moving into and loads that area scene.
I named the C# classes that make this work things like TeleportationManager mainly because it makes me smile each time I read it!