@Syedhs I’m looking in to your issue but I could use some more info, like how you are changing levels? Unreal has a couple of different ways of doing so, it might help me narrow it down if I knew which method you were using.
@GuacFrog
I haven’t had time to look into anything yet unfortunately. I’ll see if I can find some time to look to see if there’s some ownership changing issues going on. Thanks for the description. I should be able to recreate it.
@GuacFrog I seem to be able to switch owners and switch who simulates physics no problem. I added an empty Actor in the Third Person Template, added a Cube to it and set the cube as the root component of the Actor, and also enabled replication of course. I added a SmoothSync component and some blueprint magic and an rpc to change ownership and physics.
Everything seems to work as expected. The only time I was able to get behaviour similar to what you are seeing is when I enabled “Component Replication” on my root primitive component (cube). That seemed to cause all sorts of weird twitching, though I’m not really clear why that would be, it’s definitely doing something bad. Do you have component replication enabled?
[USER=“”][/USER] Interesting. I have my static mesh set as my root component with component replicates on.
@GuacFrog Should be as simple as turning off component replication then, as long as you do don’t need it to be on for some reason. I can’t really imagine why you would need component replication on a static mesh, but my understanding of component replication is pretty limited so let me know if you do need to use it and I can dig a little deeper and see if I can find a work-around.
Un checking component replicates did indeed solve my problem. Thanks for that advice!
@GuacFrog
Glad it worked! Feel free to reach out any time.
Hi. Today I bought the plugin and the truth is that it seems to work well except for one thing. All the animations of my character work with the exception of the locomotion which is what is usually synchronized when having checked “Sync movement”. Are there any steps I should follow to synchronize using the plugin? Thank you.
@FireblitzSpain Make sure you have enabled “Sync Movement Mode” on the Smooth Sync component.
This is checked by default when adding the component to the character and has not been touched. As I said the animations are not updated. Walk, Run, Sprint, Crouch don’t work with the plugin. Animations that use Anim Montages or that are launched from the Animation Blueprint with events work without problem.
I’ve tried it with a clean Third Person Project and the result is the same. Walk doesn’t synchronize but jump animations do.
@FireblitzSpain
I’ll look into it and get back to you. Thanks for bringing it to my attention.
I keep getting this error that crashes my game when i add smoothsync to a projectile with projectile movement. Any Ideas?
[2019.12.01-01.41.16:027][307]LogWindows: Error: === Critical error: ===
[2019.12.01-01.41.16:027][307]LogWindows: Error:
[2019.12.01-01.41.16:027][307]LogWindows: Error: Fatal error!
[2019.12.01-01.41.16:028][307]LogWindows: Error:
[2019.12.01-01.41.16:028][307]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000000
[2019.12.01-01.41.16:028][307]LogWindows: Error:
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffb3bae6be UE4Editor-Engine.dll!UPrimitiveComponent::GetPhysicsAngularVelocityInRadians() [g:\ue4.23.1\engine\source\runtime\engine\private\primitivecomponentphysics.cpp:263]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffb2e005bb UE4Editor-Engine.dll!UPrimitiveComponent::GetPhysicsAngularVelocityInDegrees() [g:\ue4.23.1\engine\source\runtime\engine\classes\components\primitivecomponent.h:1365]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffa0398ce3 UE4Editor-SmoothSyncPlugin.dll!SmoothState::copyFromSmoothSync() [g:\ue4.23.1\engine\plugins\marketplace\smoothsync\source\smoothsyncplugin\private\state.cpp:64]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffa039ad8a UE4Editor-SmoothSyncPlugin.dll!USmoothSync::sendState() [g:\ue4.23.1\engine\plugins\marketplace\smoothsync\source\smoothsyncplugin\private\smoothsync.cpp:955]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffa03976b6 UE4Editor-SmoothSyncPlugin.dll!USmoothSync::TickComponent() [g:\ue4.23.1\engine\plugins\marketplace\smoothsync\source\smoothsyncplugin\private\smoothsync.cpp:736]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffb3226120 UE4Editor-Engine.dll!FActorComponentTickFunction::ExecuteTickHelper<<lambda_45e6ef11ed0557285177160cea7a91dc> >() [g:\ue4.23.1\engine\source\runtime\engine\classes\gameframework\actor.h:3152]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffb3254834 UE4Editor-Engine.dll!FActorComponentTickFunction::ExecuteTick() [g:\ue4.23.1\engine\source\runtime\engine\private\components\actorcomponent.cpp:839]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffb3f46773 UE4Editor-Engine.dll!FTickFunctionTask::DoTask() [g:\ue4.23.1\engine\source\runtime\engine\private icktaskmanager.cpp:285]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffb3f539f7 UE4Editor-Engine.dll!TGraphTask<FTickFunctionTask>::ExecuteTask() [g:\ue4.23.1\engine\source\runtime\core\public\async askgraphinterfaces.h:847]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffbd724c8a UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread() [g:\ue4.23.1\engine\source\runtime\core\private\async askgraph.cpp:686]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffbd724f4a UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksUntilIdle() [g:\ue4.23.1\engine\source\runtime\core\private\async askgraph.cpp:594]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffb3f72bed UE4Editor-Engine.dll!FTickTaskSequencer::ReleaseTickGroup() [g:\ue4.23.1\engine\source\runtime\engine\private icktaskmanager.cpp:574]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffb3f78d22 UE4Editor-Engine.dll!FTickTaskManager::RunTickGroup() [g:\ue4.23.1\engine\source\runtime\engine\private icktaskmanager.cpp:1518]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffb377c40f UE4Editor-Engine.dll!UWorld::RunTickGroup() [g:\ue4.23.1\engine\source\runtime\engine\private\leveltick.cpp:782]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffb3786afe UE4Editor-Engine.dll!UWorld::Tick() [g:\ue4.23.1\engine\source\runtime\engine\private\leveltick.cpp:1550]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffb01adfcb UE4Editor-UnrealEd.dll!UEditorEngine::Tick() [g:\ue4.23.1\engine\source\editor\unrealed\private\editorengine.cpp:1638]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007fffb09c9aa6 UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick() [g:\ue4.23.1\engine\source\editor\unrealed\private\unrealedengine.cpp:407]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007ff7bf677b0a UE4Editor.exe!FEngineLoop::Tick() [g:\ue4.23.1\engine\source\runtime\launch\private\launchengineloop.cpp:4257]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007ff7bf68a91c UE4Editor.exe!GuardedMain() [g:\ue4.23.1\engine\source\runtime\launch\private\launch.cpp:173]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007ff7bf68a9fa UE4Editor.exe!GuardedMainWrapper() [g:\ue4.23.1\engine\source\runtime\launch\private\windows\launchwindows.cpp:147]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007ff7bf69b92c UE4Editor.exe!WinMain() [g:\ue4.23.1\engine\source\runtime\launch\private\windows\launchwindows.cpp:279]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007ff7bf69e60e UE4Editor.exe!__scrt_common_main_seh() [d:\agent_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007ff81caf7bd4 KERNEL32.DLL!UnknownFunction ]
[2019.12.01-01.41.16:028][307]LogWindows: Error: [Callstack] 0x00007ff81cc4ced1 ntdll.dll!UnknownFunction ]
[2019.12.01-01.41.16:028][307]LogWindows: Error:
[2019.12.01-01.41.16:043][307]LogExit: Executing StaticShutdownAfterError
[2019.12.01-01.41.16:061][307]LogWindows: FPlatformMisc::RequestExit(1)
[2019.12.01-01.41.16:071][307]Log file closed, 11/30/19 20:41:16
@bok! It looks like a bug. Should have a fix in the next version. Thanks for catching it.
Hi,
I’m facing a problem, and I don’t know if that come from Smooth Sync or UE4 engine:
I use the rolling ball template to do some test, and one thing appear to be problematics, when I Add Radial Force at the impact point between 2 balls, the other ball take like 300-500ms to be impacted by the Radial Force (configured like on the screenshot)
So, do I do something wrong? I have tried to fire Add Radial Force from the server, nothing happen at all, or by owning client, work exacly with the same problem
Thanks for the help!
@bok! @FireblitzSpain Both of your issues should be fixed in the latest version that is on the marketplace now. Let me know if you run in to any issues with the new version. Also give our discord channel a try if you’re in to that: Noble Whale Studios
@nynjardin Generally if you want networked objects to interact well via physics you need them all to be owned by the server. Alternatively you can make sure the force is always applied on the owner and you will be able to move things but you will see delays and weirdness during any physical interactions between actors with different owners. So the trade off is either a delay when players try and interact with things because their interaction needs to be relayed to the server that owns everything, but you’ll have smooth and correct interactions between objects; OR delays and weirdness when objects physically interact, but players can interact with objects they own instantly. It will depend on your game which route you go.
At least I think that’s what you’re running in to, a 300-500 ms delay is pretty long. Do those two balls have different owners in your scenario? Can you narrow down the test to add the radial force on a keypress instead of collision? I’m wondering if the delay is in applying the force or in detecting the collision itself.
My two balls have they own owner.
Ok, so, I’ve tryed what you suggest, see screenshot attached, and, in fact, I have nearly no delay anymore… Have you any idea why? Because of collision? I have set CCD to true for the ball component (with or without, nothing change).
Should I try to found another way to Add Radial Force that use something else than hit event?
I just added these node to the PhysicalBallBP from Rolling Game Mode, nothing else (so, it’s very easy to reproduce)
Thanks for your help!
@nynjardin I’m not clear on where that original bp was running. If that is on the owner of the ball you are adding force to you may get better results detecting the collision on the server and using an rpc to add the force on the owner when collision is detected.