Animations freeze for clients after un-ragdolling

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    I want my animations to replicate to clients after unragdolling.

  2. What is the issue? Include screenshots / videos if possible!
    After unragdolling, the animations freeze. After some debugging, I’ve found out that the animations are actually running on the server, but don’t replicate to the clients for some reason, until the player touches the NPCs. Once the player gets away however, the animations freeze again. This only happens after unragdolling. The network ownership is always on the server, though this shouldn’t matter I suppose.

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    I’ve tried stopping all animations after and before ragdolling, and I’ve looked everywhere on the forums. Couldn’t find anyone with a similar issue as mine.

Here’s a video of what I mean:

I’ve never seen an issue like this before. I’m assuming you’re disabling/enabling Motor6Ds and temporarily replacing them with physics constraints for ragdolling and such; maybe something funny’s happening there?

There’s also the questions of:

  • Are you pausing the animations (?)
  • What events are these dummies listening for? And:
  • Are you properly resetting joints and such?

These probably won’t get you much closer, but they are things to check. Merry Christmas.

1 Like

After a bit of testing, the problem definitely is with the fact that I’m disabling motor6ds then re-enabling them. When I don’t do it, everything works fine and as intended. But then, the problem is, how would I temporarily ragdoll without disabling motor6ds?

Edit: Also, forgot to mention, this only happens in game. In studio, everything works fine, for the most part.

Now that I think about it, it could be a network ownership issue - there’s a mode (OnContact, type 2) which sets ownership to the next player to touch an object. Where do you set ownership in your code?

When the NPC ragdolls, I set its network ownership to the server.

After a bit more testing, I’ve found out that this is a problem with anchoring, not with ragdolling. The way I handle this type of gameplay mechanic is that I lock the player and target in place by anchoring their root parts. Then, after the skill is done, I unanchor them. The process of anchoring while an animation is playing seems to cause some problems.

I’m still not sure why this only happens in game, but not in studio, and only with server-owned NPCs and not clients.

Instead of battling this issue, I’ll just try using a different method for locking players in place.