Elevator Style Character Movement (Should I even be trying to use Lerp?)

Sounds like you’re getting a handle on it, that’s great!

The only thing I can pick out of your post for now that I wanna touch upon is the Player Controller. Unreal unfortunately has a lot of esoteric concepts that aren’t made readily apparent what their use is. Let me try to run it down for you.

Game Instance - an object that is persistent throughout the life of the game; that is to say that it is never destroyed until the game is quit, unlike other pieces I’ll touch on. Generally this is used to hold together multiplayer games as the maps load and things of that nature. I like to use it in single-player games for variables that I’ll always need to see so I don’t have to keep loading and saving to a SaveGame object. I also like to put a StateMachine enum variable in here that shows what “state” the game is in, i.e. Main Menu, cutscene, in game, etc.
Game Mode - An object that acts as the master of the current level’s Player Controller, Player Pawn, Game State, Player State, etc. The docs say this is used for the “rules” of the game, but I use it to spawn objects and hold references to my important objects so if I need my player, I just get my Game Mode and Get my Player Pawn reference variable.
Player Controller - is generally used to receive input then send instructions from that input to an appropriate pawn. This is completely optional to use, but is a good idea to use if you want to use the Player Camera Manager (which I honestly never have) or switch pawns during gameplay (which I do with some frequency).
Pawn - you can put all of the input logic on this if you’d like. Some games work that way just as well. I personally recommend splitting input between the PC listening for instructions and sending a message to the pawn to carry out those instructions. For example, the PC hears the player tilt the thumbstick. It says, okay, if input is enabled and we’re using the human pawn, we’ll send a message to the human pawn to move forward. If we’re using the turret pawn, we’ll send a message to the turret to rotate upward. Again, you can just put the input on the pawn if you want, the PC just makes it easier to manage multiple pawns and share variables.
Game State - this is used for networking as I understand it, and I’ve not had much experience with Unreal’s online infrastructure yet so I don’t have much to share. Sorry!
Player State - If I understand correctly, this shares some info from the Game State but is used locally on each client in a networked game. Again, no experience here :slight_smile:

So right now it looks like you have a camera actor in the scene that is independent of the pawn anyway. If you’re calling Set Target View with Blend or whatever it’s called when the game starts, you’re overriding the Player Camera Manager’s auto-camera already, so you’re golden whether you decide to use a Player Controller or not. Then it’s just a matter of moving the camera appropriately when you need to which can be one with a boolean, VInterp or iTween, and an event to fire off that camera change event.