# Character Launch Speed

I am trying to make a networked power jump, 15 meters high. The problem is that launch character speed is extremely slow when I set it to 15 meters; not giving the desired effect. Is there a way to increase the speed when using launch character? It needs to be smooth and faster than default launch character.

Other things I tried doing that doesn’t work:
Move the character base on vinterp or lerp. Due to the fact they never reach their max value.
Add character movement in z axis. After reaching 15 meters, 0 velocity creates an unwanted dead stop.
Launching character further then 15 meters then stopping at 15 meters is same as above.

edit: I ended up using curves to drive the z value. This may end up working for me.
edit: Using the curve to drive actor location gives choppy movement for clients. So this isnt working either.

Not sure what you mean by “Launch Character” Do you mean default character?

Have you tried adjusting the “Jump Z Velocity” value?

Launch Character is a node. I tried changing velocity and it wont increase the speed or ease in or out. I have not found a good solution for networking. There is always a draw back. I also used ignore movement error for smoother transitions for client when automated controlled, but other clients will still the jittering effect due to how it is updated.

Hey, you are setting the launch velocity, not the height. So to get 15m exactly, you have to do some math that takes your gravity into account.

The equation you need is

``````Jumpheight = Launchvelocity^2 / (2*Gravity)
``````

if we put in 15m for Jumpheight and solve it for Launchvelocity we get the following equation:

``````Launchvelocity = sqrt(15 * 2 * 9.81);
``````

With the result of 17.15517m/s. Keep in mind though that Unreal Engine uses centimeter as units so we have to multiply this by 100 giving us 1715.517415 cm/s.

finally, just plug this value into your Z value of Launch as seen in the next picture.

Thats not the problem and 1500 z will launch you 15 meters from what i have tested.

Also have I am using launch for my jumps + double jump by getting the movement component jump velocity and works 100% fine and as intended even with networked. My goal is to use something like a thruster where I can control the height and be fairly smooth for both the local client and the other clients. I have ended up using a curve to drive the Z value and work decent but not perfect. It drives the z value to set character location. On the local client (as a FPS) it works decent with some minor hitching due to ignore movement error check being turned back on after the movement is automated. The problem with using set actor location is that it will cause the other clients to see jittering when in the air. This is because how UE4 network predictions is handled and variables are getting updated while being rounded.

To sum the above, Set Actor Location works but from the server to other clients, it will show jittering because there isn’t any interpolation while using set actor location from UE4s networking. I need to find a way around this but can’t find a solution that is remotely optimise for multiplayer…

So if you are trying to get smooth movement between server and client one thing you can do is manually replicate the transform from the server to the clients, then on the client end break it apart and lerp each of the components (location, rotation, and scale) from the current client position to the replicated value. I have not used this with characters, but I use it for moving platforms, even ones that move at high speed and there is no jitter.

First, 1500z will only launch you about 11m in the air, not sure how much precision you need.

Secondly, all the mentioned ways should be fairly equal in what they will do for you. The results will be largely the same.
The reason you see jitter is because you are most likely just calling it on the server and let the replication handle the update for clients, but this doesn’t happen every frame and therefore, you see jitter.
What you want is a client prediction model. Tell the clients the jump happend an let them interpolate their own behavious in addition to the one that the server does.

Your correct on the z velocity. However the function runs for clients and on server. It is not replicating movement from server to clients. There is also a bool in movement component that’s called “ignore client movement error check” which is used to do the client prediction. When the skill is used, it sends and rpc to the server saying the key was hit. It then checks for cooldown etc server side, along with a replicated bool saying the skill is in use. The update function will run the boost jump for the server and all clients. The ignore client movement check error is on while it in the process. The local client and server work appropriate with only a slight hitch when ignore client movement is turned back on. As for the receiving clients, it will jitter, as if UE4 is forcing the update from the server. However it shouldn’t be.

As I said before, launching a character by velocity does not achieve the result I need. I need something that is more as a thrust propulsion which needs to be faster than the jump,launch, etc that ue4 provides. Thus the reason I used a curve to drive that.

Ok seems ignore client movement error is only for the local client. Receiving clients will get overridden with the movement replication. So I also had to turn that off.