Avatar AJU - Accessories attach based on matching Attachment names and order, after Network Owner change or ApplyDescriptionAsync

Description

The Hat is not suppsed to be at the Leg.

At the beginning I thought that it would be caused by a constraint, but it’s just caused by two same attachment names.

If there are two Attachments names in:

  • Any of the limbs
  • Right under the Handle of an Accessory

Then the Engine appears to be assigning Attachment0 and Attachment1 on its AccessoryRigidConstraint.

Re-assigning happens for instance when ApplyDescriptionAsync is used, or when the Network Ownership changes.

But it’s random. Sort of. Instances have an order somewhere. If you export a Character Model to .rbxmx the order will be visible.

For example, if a HatAttachment should be assigned to a limb’s HatAttachment. Then the HatAttachment needs to be in first order.

In this case

  • Accessory’s Handle
    • HatAttachment
    • Attachment (I added this one in)
  • Head
    • HatAttachment
  • LeftUpperLeg
    • Attachment (I added this one in)

If the order is something like this, then the Hat will attach to HatAttachment

If I were to swap LeftUpperLeg and Head, then it won’t.

 

This issue wasn’t present in the Motor6D ones.

Re-production Steps

Files and Videos are attached in the Private Message

  • Run the place file and click one of the buttons.

There are two buttons, one will use ApplyDescriptionAsync and the other one will use :SetNetworkOwner(nil).

Expected Result

Not sure, but I would have expected it to only go to HatAttachment and nothing else.

Actual Result

Somewhere in the Engine, it just picks two matching Attachment names, and then it will put them in the RigidConstraint.

A private message is associated with this bug report

1 Like