I’m having a really difficult time getting an object moved with Set Actor Location to smoothly push my character while the character is on the ground standing still. The character begins to overlap then shoots out of the mesh every ~20 or so frames instead of being pushed away every tick like it should. That being said, it is working perfectly while the character is either moving or in the air. I really hoped enabling “CCD” (continuous collision detection) on the capsule and mesh would work but it didn’t do anything.
I created a new third person project (v4.211) to see if it would happen to the default mannequin and it does.
I’m so sorry for this super short low fps video but hopefully it demonstrates what is going on (turn on video loop if you want to blink and still see something):
I am not controlling the character because, as you can see, the camera goes absolutely nuts as the character is inside the mesh then shoots out.
Here is an example of walking INTO the moving block. It works perfectly.
Again, my sincere apologies for the awful video.
The block blueprint is very simple (the static mesh is root and only component):
I obviously can’t enable sweep or else the character will block the mesh from moving along its path.
I understand I could do some hacky workaround by putting triggers on either side of the object and adding an offset to the character but that just seems wrong. I’m making a side scroller with lots of different platform/block meshes and have already programmed wall sliding. There has to be some way built in that allows for this functionality. Seeing as how it works perfectly while the character is moving or falling, I can’t understand why it won’t work while the character is idle on the ground.
Surely someone has to have experienced this before. It seems so simple and it’s frustrating that I’ve wasted a whole day fiddling with this. All the “solutions” I’ve seen use overlap box components that add an offset to the character location.
Thank you so much in advance!