Smooth Sync: Sync your Transforms Smoothly across the network

By error distance i meant rotation difference between server and client. It looks like there wans’t any type of interpolation.

Here you can see another video showing the two players: https://drive.google.com/open?id=1Pqa7MgdyQPL6WOZ9i1d4Uv7XaISg-zbd

The video shows a second player placed on top of a vehicle controlled by another player using a dedicated server. I am applying the rotation like this:

@caryest
Default settings should work. I’ll check some things out tonight to make sure it’s all still working as expected with dedicated server.

One thing may be that you still have Replicate Movement checked. You’ll want to uncheck that as Smooth Sync will be handling that behavior and they may be fighting each other to set the position/rotation of the object.

Another thing you may want to check is that your movement code isn’t trying to move the ships on your clients because Smooth Sync should also be the only one handling that (if the server is the owner or there is no owner for the ship that is).

Nevermind, i think it is something related to the character, ship rotation is smoothly replicated, thank you so much for the help!

@caryest
That’s great to hear! If you like my support and my product, every 5 star rating helps us get noticed a bit more. :slight_smile:

Let me know if you have any other questions.

Hey there! :slight_smile:
I purchased your plugin, I’m trying to set it up for a VR game. The problem I’m getting is that the objects that I’m using the SmoothSync component on are very choppy. I tried simulating physics upon release of an object on both server and client and then only on owner. I messed around with all the parameters but I can’t improve it… I also set interpolation parameters to do as much smoothing as possible… I still see it choppy. (I’m using it on a specific component with SetSceneComponentToSync function)

To others reading this, the above also sent me a PM so I have been responding to them there.

**Version 1.19 **has been submitted to the Marketplace.

Change Log:

  • Fixed issue with teleporting if had recently cleared the State buffer.

Hi, the plugin has been improved very much and it’s solving a lot of network problems,
due to how i set my character up i had some issue trying to workout and you provide great support for it before.
i only have one single issue, when my controller possess other pawns it takes
about 7-8 seconds for it to start replicating position and movements, other properties replicates fine in this period, and this issue only appears in production.
actually you could test it in editor with up to 10 players with SmoothSync using dedicated server, and from one pawn try to possess another pawn and then move immediately you can see on other
players window the pawn you just moved take a few seconds to replicated position where on your window the pawn actually moves.
I’m guessing the heavier the the load the more time it takes to start replicating movements. by load i mean how many properties replicating or RPCs getting called for a pawn per frame.

I used ForceStateSendNextFrame just before and after possessing a pawn, but no luck. maybe I’m doing it wrong, is there a function to call and telling it to start replicating no matter what?

@ATHIEK I think you want to call SmoothSync.clearBuffer() on all instances of the pawn after taking possession. Let me know if that doesn’t help.

@ Tried it, still nothing. i also tried making the shouldSendPosition() always return true, creating new smoothSync at runtime when possessing and destroying the older one and i though it should work this way because when my controller the very first time possess a pawn it syncs and replicates immediately but after that it takes some times to sync, sometimes up to 30 seconds.
Any ideas?

EDIT : Actually my idea of creating the SmoothSync component at runtime was right and solved the issue, except before i was creating the SmoothSync component on client, and not server.

By the way, there are some minor issues i found and easily got them fixed(Synced) by your instructions you gave me before, so here they are :

  • IsCrouching() which belongs to movement component still isn’t replicated.
  • RemoteViewPitch which is belongs to APawn isn’t replicated.

I manually added them to buffer as you said, and they’re synced. there were another value but i don’t remember, the same way it got synced though.

I really appreciate for this plugin, it could save many people from a lot of headache.

@ATHIEK Glad you got it working. I’ll have to take a look at allowing other variables to sync. Thanks for the ideas. Let me know if you have any other questions.

Hey, can you help me? Im trying set component to any bp but after restart project this component is dissapeare…

@Pangsuper
​​​​​​​When I do Add Component -> Smooth Sync to the player blueprint in the Third Person Template project, I can restart the project without it disappearing.

I don’t think I’m understanding what you are doing. What are you trying to do with the Smooth Sync component and where is it disappearing from?

The thing is, I don’t do anything. I just put smoothsync on any actor and it disappears.

@Pangsuper I’m not really sure what you mean by “put smoothsync on an Actor.” The way I do that is by selecting the actor and using the “Add Component” button to add the Smooth Sync component. Maybe send me a screen shot of how you’re putting smooth sync on the Actor? Do you get this issue if you test in any of the project templates?

Yes, I use this plugin for a very long time. I know how to load it. It doesn’t work on my c++ project. (on other works)

@Pangsuper I finally figured out the issue after some intense googling and experimentation. The problem is with the order that the plugin is loaded in relation to the rest of the engine / plugins. The solution is described fairly well here: "Can't find file for asset. /Script/CableComponent" on 4.12 - Blueprint - Unreal Engine Forums

The path to the plugin folder will probably look more like “Engine\Plugins\Marketplace\SmoothSync” in this case since it’s a marketplace plugin, but the general solution is the same. In the SmoothSyncPlugin.uplugin file, “LoadingPhase” needs to be changed from “Default” to “PreDefault”

I’ll have that fixed in the next release, but in the meantime you can make the change yourself and it should start working immediately.

Thanks a lot!

I’m trying to share this Plugin with my team for a collaborative game project. Is there a good way to do this? I tried adding SmoothSync as a project plugin but it doesn’t show up in the “Edit-Plugins - Project Plugins” List. Any info would be very helpful! Thanks!

Hello,

Say i’m firing a bullet from player 0, will it create the bullet on the dedicated server as well, without sending an event to the server like the usual way ?

Or will it replicate my vehicule position ?