So we’ve decided to use AI now for the secondary character which means I needed to rethink how the game world would work entirely. Here you can see in this newest movement test that I’ve created a 3D world but that it will look 2D once the game is working. This is because AI uses NavMesh and currently Unity3D does not have a 2D NavMesh nor can I create NavMesh anywhere but what Unity deems is the “Top” of 3D objects.
So first I created a world that the AI could move through, using distance to create locations where I can gate which sister can do what. For example the purple block represents climbing areas, only Sister 2 can climb so I wanted to be sure that Sister 1 would not be able to reach these places when the AI was in control.
However, this meant that there would be times that the player agent needed to move down, but I didn’t want gravity on so I adapted Ground Check to drag the player down to each level once they were not touching ground or water, I will have to figure out how to do the opposite to get them out of water.

Right now I’m only focusing on getting the player controls working. The player has two states, human and seal, as a human currently they can only travel in the x-axis on land or water (Sister 2 will eventually have an exception when climbing), but when they are seals in the water they will be able to move freely in both the x and y axis.

Currently human form is represented by pink and seal by cyan. When the player is pink they cannot move up or down, only left to right, even when in water. When cyan and on land the player can only move left or right, but once they are in water they can move up, down, left and right to represent swimming.