Character movement impossible after actor's surface is changed using SetActorLocation or teleport

Hi everyone, I’ve got a bunch of characters & the skeletal mesh is the sample content mannequin, with a few tiny alterations - can share more if required, and they all start out on Planet X, which is a blueprint class that’s really just a big, scaled up, sphere with a material texture.

After a while, I move Planet X to a far away location, and then I pick a new planet for the actors to all “go to”. In reality, the new planet is teleported (specifically, I use set actor location), underneath my actors.

That’s when the fun stops - and character movement becomes practically impossible - ridiculously stuttery, as though there’s some otherwordly force being applied to them (gravity?). Jump a few times and my character is sent into space. My instinct is: collisions, overlaps, ragdolls, physics, gravity, me being bad.

Anyone encountered this before? Obvious things to check that I’ve missed?

Thanks in advance, I am wondering if this is even the best approach (swapping the actor locations in/out). I figured it would make my life easier for when I am editing those however.

FWIW I’ve also tried implementing a “reset spawn position” function for my characters, but that’s even worse. They’re teleported fine, but unable to move regardless of whether they’re stuck in the ground or not, and then if I wait around for the next planet launch, they end up at -24xx, -24xx, -5000 which rapidly becomes -10,000, etc. May be a clue.

Also, this is an MP game. Perhaps it’s replication related…cheers.

For anyone who finds this, I’m sure there’s are lots of ways to solve this but, as my planet’s a sphere and the players are always going to be in the same place, I set the planet’s collision preset to be NoCollision and I added a new sphere with a blocking volume just underneath the surface of the planet, with BlockAll collision. So, the players are always on that, and what happens with the (not blocking) planet is irrelevant now. It’s a sphere with a blocking volume so I get a rounded surface that matches the planet (otherwise it’d look unnatural). Works a charm.