How would I put my Character into different states?

I’ve always used Finite State Machines in other engines to set up states for my characters. I know I can do that for animations in UE4, but I’m not sure how to go about setting up different states as far as logic goes. It doesn’t seem like I should have a ton of bools or an Enum to get this done.

For example, in my game, I need to be able to switch between walking around like normal and placing objects. When in “Placing Mode”, my inputs shouldn’t affect the position of my character. Instead, I should be manipulating objects in the level. I can do this with a simple “IsPlacing” bool, but that quickly becomes a tangled mess when I have to check that bool all over the place. Same goes for using an enum.

Is there any way to encapsulate the behavior for “Placing Objects” and “Walking Around” in different places, and switch between them somehow?

Edit, for more clarification:

Sure, until the system got more complex. I want the entire experience to change based on what state you are in.

Normal State:

  • Your character operates like a
    standard third person character.

Item Placement State:

  • Camera changes to first person.

  • You get a cursor

  • You are not allowed to move anymore

  • You get a special HUD.

One idea I have is to possibly use different Characters entirely, and switch between them when I need to. Is that a standard method of doing this?