After playing around with it a bit more, I went ahead and created an Actor Component that will always be attached to the player. This is my “Parent” component or Mechanics Component, if you will. Adding components to the Parent seems to work, but you were right about casting. I.E. if I added the Jump Component with all the jumping logic to it, and tried to use it in the Character Blueprint, I would have to do a bunch of casting which is quite annoying.
So instead, I went the next route and kept the Parent Component on the Character, and used an Interface within the parent for the Jump (each mechanic would be an interface, is the idea). Within the small network of the jump logic, I went ahead and created a second boolean. (I have two booleans for MOST mechanics, one is to turn on the mechanic, similar to buying a new power at a certain level in the game, which is kept in the Character blueprint, and two is to toggle it on or off when other mechanics are in use) This boolean is out of sight, right in the interface. If I want to turn it on or off depending on other mechanics, sure, I’ll have to cast within that interface. But that’s something I’ll have to look into soon, like could interfaces cast or communicate with other interfaces?
As of now, all I have to do is grab the reference of the Parent in the Character BP, and call the Jump Message to get it working. I’m not quite sure, though, if this would work for other skills or if this is even productive to what I was trying to accomplish above. Any advice will suffice. Thank you!