CapsuleTrace Location returns overlapping loc. unless complex?

Hi!

I’m doing a custom movement component because for multiplayer the built in character movement component is very… limited? Basically overrides client side data very aggressively thus controlled dashes, teleports, etc. introduce a lot of stuttering even if called on both ends.

So, I’m doing a capsule trace for a good location and then move there without sweep (step up is impossible with sweeping).
When I’m using CapsuleTrace and get the Location (which returns last not-overlapping location when sweeping), if I move there I will be overlapping.
BUT! If I tick Trace Complex it will return the expected not-overlapping location however.

Any idea why this is? Am I doing something wrong? BTW, you do not need my project to test this, just do a capsule trace until hitting something and do another from the location you are getting as a result, it will be overlapping most of the time. Not always, in an angle it sometimes works? But yea, I got stuck in the wall for a while - started using impact normal based velocity cropping to allow the player to move out of walls but not inside.

Actually works quite well but not ideal obviously.

Anyways I guess my question is if this is a bug, only appears on my version or works as intended? Then should I use complex, or is that a bad idea?

PS.: If I do move actor to location With sweeping ticked, that works fine. Thought it uses the same method but I guess it uses complex trace?

Update:
Well, it still doesn’t work even with complex. As in more reliable but sometimes it just ends up in a wall anyways. I started using a 0.1 margin, basically when I get the location I do not move there but instead make the deltavector shorter by 0.1 (if possible, if not I do not move - tried 0.001 and 0.01 but both were too little :frowning: ) and add that to the start location. This way so far I was doing fine but it feels off. I should probably check the c++ code of the MoveTo node to see how it checks for obstacles…
Off, as in if the “Location”'s description says it should be one that I can move to without ending up in an overlap then it’s weird that it most certainly will end up in an overlap…