Hoverbike Multiplayer Development Log 2

Week 2: New Hoverbike movement behavior and replicating the mount icon visibility

Hello again! Ram here with another development log of the Hoverbike. 

Before fixing the movement of the hoverbike while replicating, first I decided to revamp the hoverbike blueprint. One of the few things that bothered me the most was that the hoverbike was using a character blueprint as base instead of a pawn blueprint. This limited the movement behavior that the hoverbike could achieve. Although this approach meant that the gravity would have to be simulated it gave better results than the previous one.

Now you can ride the walls! I need to tweak some values to achieve the movement I'm looking for but at the moment it is very pleasant to use the hoverbike.

This revamp took most of the time I dedicate to this project but I wanted to do some networking stuff before posting this article so I fixed the mount icon visibility. This icon shows up every time you are near the bike to notify you that you are able to ride bike. In single player this worked flawlessly but with multiplayer I discovered that the icon was popping up for everybody. In the video below you can see the bug.

It took some trial and error to run something only in the desired client but I manage to do it by changing these nodes.

This affected everyone

This affected everyone

This only affects the client that trigger the function

This only affects the client that trigger the function

In the images above you can see the function that sets the icon visibility (in the previous version I used visibility and in the new one I used Hidden in Game but it shouldn't make any difference during replication). This function is executed when an character overlaps the hoverbike ride collision and tells the bike that someone is near to ride it.

To make it work, I just needed the character reference that triggered this function and compare it with the player pawn. The get player pawn node will return the local pawn and will only be equal to the character reference if the hoverbike version is the local one.

And now this is the status of the hoverbike

In the next development log I will show how I fixed the replicated movement of the hoverbike. See you soon!


Hoverbike Multiplayer Development Log 1

Hello! I'm Ramanand aka Ram one of the programmers in Unforgiven and due to the massive request to add replication / multiplayer to our Hoverbike System we at Unforgiven have decided that is time to do it . This is something I've been wanting to do since last year but didn't have the time because of university related stuff but now that I have graduated I find myself with more time in my hands.

This series of articles will be focused in the addition of multiplayer to the Hoverbike System you can find here in the Unreal Marketplace. It’s not a tutorial because I’m not an expert in replication in Unreal Engine (yet) but is a log of the steps I did to make the replication work for the Hoverbike. I'll try to show most of the things I did that worked and do my best explaining them but if something is not clear you can ask me in the comment section.

As learning material I used the Unreal Engine documentation found here and this Unreal engine stream that you can watch here.

Week 1: Testing what works and what doesn’t

My first step to tackle this project is to check how much does the hoverbike system breaks when I try to use it for multiplayer out of the box. First set up the number of players to 2 and play around the level to check which problems arise. The player movement is controlled by the Character Movement Component so we don’t have to worry about that. 

Changing the number of players used in the PIE

Changing the number of players used in the PIE

Initial problems detected after testing:

  • Client can’t ride correctly the hoverbike
  • Animations are not replicated
  • UI behaves incorrectly
  • The destruction of the hoverbike because of the damage done to it cause the player mesh to disappear

This test was done in 10 minutes so there is a high probability that I missed something. Don’t worry though because the development is iterative so test will be done exhaustively in order to ensure the best quality we can. I’m doing things this way because the time I give to this project is around 2 hours a day so I rather see results quickly and polish them gradually.

Let’s start by addressing the most important issue “Client can’t ride correctly the hoverbike” which means that the client isn’t telling the server that is riding the bike.

Mount and Dismount

To solve this we have to open the ‘BP_RiderComponent’ and check the ‘Component Replicates’ checkbox under the ’Class defaults’

As a little background, let me explain that to for a pawn/character to use the hoverbike you just have to add the ‘BP_RiderComponent’ and set up some inputs and that’s it. So this actor component plays a large role for the hoverbike to work.

Next we have to edit the ‘BP_MyCustomRider’ to use replicated events (also called RPCs in c++). Following Epic’s standards I created a custom event called ‘ServerMount’ that Runs on the server and is Reliable. I used Run on Server because the possess node needed to mount the hover bike only runs on the server and I checked Reliable because we always want this to happen, otherwise the engine may skip this if there is heavy load on the network.

After this we have to call the ‘ServerMount’ when the input is pressed. So we replace the current mount function to our replicated one.



Our ‘Bp_MyCustomRider’ should look like this after applying the same process

For the dismount, we need to edit the BP_Hoverbike because its there where the event is called. We create another reliable replicated event that calls the dismount in our rider component.


Now we need to fix little things like the bike being able to be mounted by more than one player now that we have replication in the project.

And that would be it for this week, next time I'll check the problems the animations give us and some movement problems I encountered along the way.

Hoverbike System is out to try it for free!

After hundreds of hours of hard work, the Hoverbike System is out there to try it for freeAnd for those of you who can't wait to the Marketplace release is available on Gumroad.

The complete solution to get a hoverbike for your game. This package allows you to ride a futuristic hoverbike and customize it the way you wish. It comes with Materials (PC and Mobile) highly customizables, particle systems, sound effects, animations, Animation Blueprints and Blendspaces. The system integrates a spawn system, third and first person cameras, damage and destroy functionalities, turbo mode and acceleration. This package is 100% drag and drop, ready to use in any kind of game.


  • Toggle front lights of the hoverbike for dark environments.
  • Switch between first and third person.
  • Physics based hover effect.
  • Collision handled for two types of crashes: light crash and hard crash (colliding with something while going at high speeds).
  • Has durability, every time a hard crash occurs the durability is diminished. When the durability is depleted the hoverbike breaks and stops working.
  • Turbo / Speed boost.
  • Ability to spawn the hoverbike in front of you.
  • Ability to see the hoverbike behind objects that has their custom depth setup.
  • Exposed values for quick change in the behavior (Max speed, Turbo speed, etc).
  • Materials of the hoverbike easily changed with override parameters set up.
  • Rider Component that enables any character to ride the bike.
  • Custom character blueprint that is the same as the third person example character with the rider component added and input node to ride the bike.
  • Animation blueprint for the custom character.