Creating a Rideable Horse - Approaches

Hi all,

I’m having a bit of trouble getting a rideable horse implemented into the multiplayer game I’m working on. The requirement here is for cavalry players to be able to line up in formation and charge, and from a design perspective we’ve decided that horses can’t move sideways, but they can walk backwards slowly to allow people to line up easier. Broadly-speaking, there are 3 possible approaches that I could take to achieve this:

Extend from Character
The pros are that movement is all taken care of, and it would be easy to set it up so that the character “handles” like a horse (i.e. no jumping and spinning in the air, wider turning arc when at full gallop etc). However, the really crippling problem is the reliance on a single capsule for movement collision detection, which doesn’t even come close to matching the actual shape of a horse. This means that the horse will either be too wide - making it impossible for cavalry to line up without leaving huge gaps or squeeze through openings that it should be able to fit through - or large parts of the horse will have no collision, allowing you to partially clip it into walls and other horses etc.

Extend from Pawn
This is problematic as it requires writing a whole new movement component from scratch, and being a tiny team we don’t have the resources or knowledge to do this. We have actually tried it, even attempting to take the existing character code and rewrite parts of it to use a box component instead of capsule, but we could not get it to work and it was going to take months most likely to get it working

Extend from Vehicle
This is the approach I’m currently trying. Pros are that it allows for collision detection to accurately match the horse, and networked movement is already set up and ready to go. The cons are that horses are not cars: they need to remain upright on slopes, they can’t “drift” and they certainly don’t bounce and flip over if you run them down a steep slope. A lot of settings need to be tweaked to get a vehicle handling like a horse

My question is, does anyone have experience of the above issue, and how did they resolve it? Every tutorial I’ve looked at online adopts the “extend from character” approach and they never seem to acknowledge or address the problem that horses cannot be accurately represented as a capsule.

I cannot find any resources online for how to handle a non-bipedal character from a movement collision detection perspective, and even the assets on the marketplace just go with the character approach. Am I missing a trick here?