Download

Rideable Horse

I don’t think this isn’t a terribly complicated or difficult feature to put together.
But I’ve had people ask me how I do it and decided I’d put a small tutorial together explaining it.

Here’s an example video of the sort of result you can expect:
https://youtube.com/watch?v=wTo2vYbrd_A

Please keep in mind my tutorial doesn’t cover setting up the animations or controls for the horse itself or your character.
This tutorial is simply designed to get your character on the horse and put you in control of it.

You can find the tutorial here: https://wildwestdev.wordpress.com/2016/03/11/rideable-horse-tutorial/

Awesome, thanks for this :smiley:

Thanks, might use this in my current project. Btw, do you have any tips how to add a cart behind that horse (with or without mounted player).

I haven’t tackled carts yet. But it’s definitely something I’ll be looking at in the future.

I’ve been looking for something like this for a long time! Thanks for the tutorial, much appreciated :slight_smile:

Having a bit of trouble though…
I’ve run through the tutorial twice now, once on my project and once on a fresh thirdperson template and I have pretty much the same issue…
I can’t mount the horse!
When I check the debugs, I can see that the overlap events fire, the horse sees my char get close and then step away
But when I press my input mapping “E” I see in my PlayerCharacter BP the “Trace to Actor” fires and goes through the LineTracebyChannel and the branch but stops at “Cast to HorseCharacter”
As well in the “Mount Horse” function the function fires but stops at “Cast to HorseCharacter” again and nothing else in the line fires.

Why are all functions failing at “Cast to Horse Character”?

Thanks!

I can’t be sure without looking at your project myself but I’d check to be sure that your trace is hitting the horse. I myself had some trouble with this and in the end it was due to the collision settings on the horse mesh.

I’ve tried changing the Horse mesh to BlockAll and still no luck.
Everything seems to fire properly Except a few… They don’t seem to pass the “Cast to Horse Character” node… check the pics below

You can see the Orange line when I press “E” my Use key Firing but that’s it, where the line stops is as far as things go on the following pics

Shows moving Close to the Horse

**
Shows moving away from the Horse**

For one, you’ve got your Out Hit Actor going to the wrong branch here. You should be going to the CastToHorseCharacter and the upper of the two Sets

Other than that it still doesn’t look like your trace is properly colliding with anything, otherwise that branch node should be firing as well.

Edit: I also just noticed in my tutorial I never explained the MaxUseDistance variable, hopefully you have that set to something other than 0.

Huh… well would ya look at that… I must have plugged that back into the wrong node at some point in time… woops lol
I’ll stick that back in and see what I come up with after that.
On my first try, I KNOW i had that plugged in but I created a project from scratch just to see what I could get to work from a bare bones project.
And yeah I saw the maxdistance variables and thought the same thing (Wonder why this wasn’t mentioned?) I did set a value for it, which I think was like… 500 or something like that.

Let you know what I find out and thanks for pointing out my obvious mistake! Appreciate it :slight_smile:

500 may not actually be enough for your MaxUseDist if you’re working from a third person camera. I’d recommend turning on debugging for the line trace so you can be sure it’s traveling far enough to hit your target.

Was finally able to start playing around with new settings and yes, 500 was a bit low, so I tried 800 and then 1000.
I found 1000 was the best number for me.
And after hooking up that **** input… it worked lol
But I have run into some animation issues that I’ll have to sort out…
Here’s a video for everyones “enjoyment” :wink:

https://youtube.com/watch?v=46GjvF23Nnc

Good to see you got it worked out.

How would you add multiplayer support?