Smooth Sync: Sync your Transforms Smoothly across the network

Excellent, Thank You!

I’ve been using this plugin for awhile trying to figure out ideal settings for my scenario. Just curious what the developer thinks the best settings would be.
The plugin already gives me flawless buttery smooth physics replication on my client owned object to the server and other clients. Now i’m looking to fix that same client owned smooth sync object when it collides with server owned static mesh actors which also have smooth sync enabled.

My map has probably 100+ static mesh actors (ALL server side only physics) with smooth sync on them but only like 4 or 5 are moving at any time and usually it’s only 1, and any/all movement is caused by the client controlled smooth sync (default settings) object colliding with them.

The client controlled object never fails me. It’s great replication from smooth sync. But the objects it collides with are randomly jittery, sometimes smooth, just not quite great on the client side. The server is always fine of course, but any object the client collides with struggles to look good for the client.

I’ve tried Send Rate 30, 60, etc…, messing with the Position Lerp Speed, Time Smooth, Interpolation Back Time, etc…
There’s so many settings, and I’ve read all the tooltips but still not quire sure what would be best.

Any suggestions for settings?

@Sebatnik
Unfortunately in order for physics to collide and be any good, you’ll need to have the objects both owned by the same system (either server or client). There’s not much you can do setting wise to get around this limitation.

Depending on the game, you may be able to send over an RPC and move it manually on the opposing system.

No worries, that makes sense.
Appreciate the response!

I’ll probably give a shot with having the client controlled object also be owned the server. Don’t think I’ve tried that yet.

@

I see there has been an update, did this affect anything to do with what i mention for speed and vehicles? – Thanks

having the same problem as @PerfsPC with vehicles, I see there has been an update but not yet tried it, did anything change for Vehicle Replication?

@PerfsPC @TADSGaming
Yes, vehicles should be smoother now. Check out the new update and let me know how it goes.

Hi,

Just been testing and seems the same to be honest; we seem to get the same issues when all of a sudden the host (from the clients view) seems to disappear and reappear at random. Wold you suggest any particular settings?

We are also using and tried a variety of vehicles from sedan/advanced and even currently blue man physics vehicle and keep coming to a dead end with this lag issues from either host or client, this is with 2 players only testing.

SmoothSync has definitely improved from the default UE4 replication but by no means usable currently in our tests for vehicles, any help and tips would be amazing.

Is that something that just started happening with the latest release or was that happening before?

It really should be smooth even at high speed especially if velocity isn’t changing. Do you see the same issues if you just slap smooth sync on to a vehicle in one of the vehicle templates? You can smooth things out more by setting the position lerp speed to a lower value but that will also mean your vehicles will be further behind their actual position. You can also try increasing interpolation back time to avoid extrapolation. Extrapolation can be less accurate so I could see that contributing to non-smoothness. That will also put your vehicles further in the past though.

Hi, Thanks for your response, always appreciated.

The lag we are experiencing has been the same from the previous version of Smooth Sync also.

In regards to the settings you mention, we will do some futher testing over the next few days and also on a clean project to check, I’ll report back to you any findings, thanks again for your support.

Out of curiosity… have you ran any tests with vehicles? if so what vehicles did you use? and what form of network connection were you using?.. LAN/IP/STEAM?

Thanks

Hi there, can you comment on whether Smooth Sync relies on tick/framerate to function properly?

I’m having an issue with my production game where any clients that uncap their client framerate (t.maxfps 999) warp around the map and such - all of my custom replicated functions seem to be working fine (I’m not using tick for anything), but movement is extremely choppy and buggy - I assume because UE4’s builtin movement replication relies on framerate.

For my use case, I’d also prefer for the client to be authoritative on their character’s position (which is then replicated to the server from the client, and then from the server to all other clients). I understand this is something Smooth Sync can do, am I correct in this? I realize this opens the door to cheat potential, but that’s not a concern for this game.

Still also quote choppy here, same results as I mentioned in previous post for vehicles.

I usually test in the Vehicle or Advanced Vehicle template (or both) before each release, as well as the flying template. Usually I just do a quick LAN test, but I also use clumsy to simulate latency and packet loss when testing more thoroughly.

@gooberCP Smooth Sync shouldn’t be reliant on tick rate as long as it’s not ticking so slow that messages stop getting sent out. And yes, it allows clients to have authority as you describe, so that the owner determines position which is synced to the server and then to everyone else.

Thanks for the info. Really driving us crazy with vehicles (no pun intended), using smoothsync has improved it but by no means are we at the stage where we could release anything. From a host and client perspective we are struggling and have been for many years in all honesty :frowning: dead ends every way we turn for client side lag. I’ll keep eyes on this thread and continue to test things.

Appreciate your input.

Thanks for the reply!

I was able to get Smooth Sync working, and it seems to have resolved the issue I was having. I’m having a new more issues now though, specifically when using Smooth Sync, which I’m hoping you can help with.

Immediately when I enabled Smooth Sync, my pitch adjusted aim offset for my third person character stopped working - I’m assuming this is because control rotation isn’t synced through Smooth Sync - just the world rotation of the character actor? I assume this because yaw syncs fine (which is the same between character world rotation and control rotation), but aim pitch doesn’t. I’ve implemented a workaround as shown below, but I’m seeing a delay in it being applied - it’s almost as if with Smooth Sync enabled, there’s a mandatory ~.5 second delay between replication for all variables? Keep in mind that I’m testing this with both clients and the dedicated server on my local system - there shouldn’t be any noticeable delay at all.

My pitch sync workaround (the third person character mesh then applies Replicated Pitch to the aim offset) - this works fine minus the delay I described above.

Similarly, the apparent delay is making my crouch animations act very strangely - I’ve got a replicated CurrentlyCrouched bool variable which gets adjusted when the player crouches, and replication for that variable appears to have a mandatory delay on its replication, same as ReplicatedPitch above. It also might be that the replication of Crouched Half Height is delayed.

Finally, when running a client at a high framerate (300+), other players occasionally visually stay in the “falling” movemode (and play freefall animations) even though they’ve landed on the ground after jumping and are now walking around. I’m wondering if this is a bug in the “Replicate Movemodes” functionality of Smooth Sync?

I’m thankful for any help you can provide.

PS. Do you have a Discord for support/discussion on Smooth Sync?

@

We have uploaded a video for you to view, this is using UE4.24 and a derived version of the BlueMan Physics Vehicle.

https://drive.google.com/open?id=1k7…vK2UhaOcDpFn6m

On the video you can see that when the host > client and/or **clients > host **and/or client >client are close up and in close proximity you can see the jitter on the screen, soon as the vehicles are at a certain distance away, they seem to get smooth with no issues at all, then soon as the proximity decreases again you see the jitter once more.

I hope this video helps to explain further the issues we are having, we also have no other plugins enabled apart from SmoothSync.& BlueMan - we have also tried this with Sedan & Adv Vehicles with the same results

** on a side note **
Can you confirm the correct and preferred way of enabling SmoothSync and Disabling UE4’s replication please to ensure we are on the same wavelength.

Always appreciate your support, and thanks in advance.

@PerfsPC I might expect some jittering at higher speeds, but you’re hardly even moving in that video so I suspect something is wrong, like the position being set on non-owners or something so it’s fighting with smooth sync.

To disable UE4 replication and enable Smooth Sync you disable Replicate Movement on your Actor and add the Smooth Sync component. BTW we have a discordwhere you can ask questions and maybe get a quicker response.

@gooberCP It looks like you found the discord. Let me know if you’re still having issues. I’m still not really sure what the issue with yaw is but the continuing to fall after landing thing sounds like it could be a real bug as I’ve fixed a similar issue in the past.

Also I’m not sure how SmoothSync could be doing anything to delay the replication of variables. If anything I would expect the opposite problem as replicating variables should happen ASAP whereas smooth sync stuff is all buffered and delayed by interpolation back time.

Hi. I am having a weird issue with ownership. I’m not too familiar with it though. I have some Pawns that SmoothSync works on, but when i attach another actor to the pawn and set the owner of the attached actor to the Pawn (self), SmoothSync not longer works on that pawn. Thanks.