[Downloads] Comparison of UT Character Movement Replication vs Stock UE4 Code, UT Looks Better!

Please note: I am giving you 2 complimentary projects in order to experience the difference for yourself, see below!


Dear Community,

Several months ago I decided to spend 7 hours extracting only the core files I needed from the UT code base (which is freely available to UE4 devs) in order to see if the UT character movement replication code was better than the stock UE4 code.

I did this on a whim, not expecting a big difference.

**Well, the difference was shocking!**

The UT character movement replication code is visually so much better looking, **beautiful** in comparison to the slightly jittery stock UE4 code.

Please note I am not saying that the UT character replication performs/functions better, I am saying it **looks** better!

The UT code for character movement replication is visually much more pleasing and does not jitter / look sort of digitally the way the UE4 stock code looks.

I did this experiment becuase I was never pleased with how UE4 character movement replication looked in real multiplayer games, and oh my was I surprised to see how much better the UT code looked!

I sifted through 250 C++ files of the UT code base and spent hours simplifying the code down to just the bare code I needed so that I could have UT character movement replication in any project.

It was not easy! And I was not even sure if it would work!

**Well as I've said the visual difference is incredible**, the UT code looks so much better! The replicating character looks so much smoother as it moves in the UT code version of my projects!

This information affects every UE4 game in the world, so I have decided to post this information as well as two sample projects so that you can see the difference for yourself!

Steam Plugin

In order to test the difference between UE4 stock code and the UT code, you need to be playing a real multiplayer game, connected via open IP or via steam.

In the packaged projects I am sharing with you in this thread, I am using my Steam Plugin so that you can easily connect with any of your friends on steam!

So please note these projects dont have their own Steam app id, I am using the public 480 app id, which means your friend will pop up as playing “Spacewar.”

My plugin included in the complimentary project downloads allows you to experience the difference between the UT code and the stock UE4 code for yourself!


**Complimentary Downloads (Free)**

You can download both the stock UE4 code version and the UT character replication version that I did here:

**UE4 Code ~ Downloads**
http://ue4code.com/free_downloads_plugins_ue4_unrealengine4_rama

Steps to Experience This For Yourself

You need one other person so you can test a real multiplayer game using my two projects!

In these packaged games you are using my Steam Plugin in order to connect via Steam Friends list, so you and your friend must be friends on steam.

  1. Download both projects, the Stock UE4 Code, and the UT version

  2. Make sure you and your friend are logged into Steam, and also logged into your steam friends list. (SHIFT + TAB while in game to log into friends list)


3. Both of you should first run the game that uses the Stock UE4 Code

4. You should host by pressing Numpad 9, as the difference in visual quality is most obvious if you are the listen server host.

5. Your friend should wait for you to be hosting, and then join by pressing Numpad 7 (these keys are part of my Steam plugin)

6. Run around for a while and notice how the character movement replicates in a real multipalyer game, looking a little jittery / digitally, sort of skipping a tiny bit.

  1. Now repeat this process using my special UT code extraction version! You’ll see a nice big red message letting you know you are playing the UT version. (pic below)

  2. Notice how much smoother the movement replication looks when playing the UT version with your friend in a real multiplayer game!


**Conclusion**

There is a dramatic difference in visual quality between the UT version and the stock UE4 code, something you should really know about so you can make your own informed decision about whether to use the UT replication code in your own project!

**I hope you find my two sample projects helpful and eye-opening!**

For anyone making an arena, pvp, or even co-op multiplayer game, the UT character movement replication system looks visually much better than the stock UE4 code!

is it just your connection speed?

I’ve shown the difference in replication between UT and UE4 to multiple clients, and they all notice the difference immediately, it is not specific to someone’s internet connection speed or their ping while playing with a friend.


You can find out more about my Steam plugin and my other C++ plugins at:

**'s Website:**
http://ue4code.com/free_downloads_plugins_ue4_unrealengine4_rama

Have fun today!

Just tested, and I can confirm that there is a difference in movement quality/feel.

, why do you add color to all of your posts? Doesn’t it just take longer? :smiley:

I wonder if there is a reason they don’t just put the better of the two in stock ue4.

Well the issue is most obvious only in the listen-server situation. When you play as the server, the client looks very jittery. But I have not noticed the jitter when playing as the client in a listen-server game.

Also the UT code uses a fundamentally different method, involving getting the ping from a custom player state, and the ping is also calculated differently.

So there might be some reason Epic doesn’t want to use the UT version, however I am giving you the opportunity to experience both in real steam-connected multiplayer games so that you can decide for yourself if you prefer the UT version!

Have fun today!

:slight_smile:

Will you, by any chance, make a Wiki entry on how to implement the Code into our own Games? (:

I have a hunch that UT’s method may be fairly bandwidth intensive compared to the stock method, but it’s desireable due to it’s accuracy with fast moving characters and objects.

What about UT copyright? Isn’t UT code also under copyright?

Hi Ambershee!

That could be, but that’s why I am posting these sample projects, where I test the same project with each replication method, so you can see the differences for yourself and decide if you want to use the UT method for your game :slight_smile:

And using my Steam plugin anyone can join these packaged games fo real steam multiplayer tests!

The UT content is under a very specific license in the Epic EULA , but as far as I know the UT source code is available for use with any UE4 game, as long as you the user have also agreed to abide by the Epic EULA:

Epic End User License Agreement

Here’s the section on UT Content:

Limited License for Unreal Tournament Content

Epic grants you a non-exclusive, non-transferable, non-sublicensable license, during the Unreal Tournament Project, for a single User to use, reproduce, and modify the Unreal Tournament Content for the sole purposes of creating Unreal Tournament Contributions for the Unreal Tournament Project and creating Unreal Tournament UGC (the “Unreal Tournament License”). You may not Distribute or sublicense to any person other than Epic, or include in any product, any Unreal Tournament Content. The Unreal Tournament License does not grant you any title, ownership rights, or other intellectual property rights in any Unreal Tournament Content. You agree to retain and reproduce in all copies of the Unreal Tournament Content the copyright, trademark, and other proprietary notices and disclaimers of Epic as they appear in the Unreal Tournament Content. Upon the completion of the Unreal Tournament Project or termination of the Epic Licenses under Section 16, or upon earlier written notice from Epic if you materially breach the terms of the Unreal Tournament License, you must destroy all copies of the Unreal Tournament Content. All references in this paragraph to the Unreal Tournament Content include modified versions thereof made by you under the Unreal Tournament License.


Have fun today everyone!

Someone make a video please, thanks.

Waiting for Epic to comment. :slight_smile:

According to that license, you cannot use Unreal Tournament code outside of Unreal Tournament - so no, you cannot use it in your own projects.

UT License Clarification ~ Can’t use UT Code for anything but UT submissions

I think we’re reading it differently, I read Unreal Tournament Content as only stuff in the Content folder, and I can’t find any mention of restriction on use of code :slight_smile:

I’d be very happy to get clarificaiton on this matter of course :slight_smile:

oooh! Nevermind!

I just read this on the UT github:
https://github.com/EpicGames/UnrealTournament

“As described in the License Agreement, the code and assets residing in this repository may only be used for Unreal Tournament submissions.”

Okay well that settles that.

I found the critical difference in UT code vs Engine code

Dear Community,

As I mention just above, the UT code can only be used for UT submissions, I cannot post the exact code here.

However I can tell you I’ve found what makes the UT code look smoother to me, especially when a listen server is looking at a client’s simulated proxy.

The critical code is in:

UTCharacterMovementComponent.h

virtual void SmoothClientPosition(float DeltaTime) override;

The UT code has a much smaller function and is not calling the engine super!

The UT programmers basically ignore the engine’s implementation and do their own.

My intentions:

I am not sharing this info to ruffle any feathers, I am sharing this info because it is extremely important to me, directly affecting the performance of my co-op multiplayer game where one player will always be the server, so having the best looking experience as the listen-server does actually matter to me very much, and the UT code just plain looks better.

Have fun today everyone!

Hey , Thanks for all this, its great to know! you always provide awesome info!

Do we know more about using UT code, i’m assuming we cant etc, which is fine, but where does the line end with this sort of thing (im quite new to copy writes and code etc)
I mean, what if say, i use a tiny bit of code, in a function, and its slightly different. Is that still technically using their code?

Sorry if this sounds silly, im just curious as having the UT code has been an awesome resource for me and i have learnt alot, and probably used stuff in places that i dont even remember.

Any idea what happened to this? Is the UT replication available anywhere now?