Quick answer: Set Pin Mode to Position & angle (with offset). The default “Position only” mode captures world-space offsets that don’t rotate with the parent.

You pin a sword sprite to the player’s hand. The player rotates to face left. The sword stays oriented to the right and floats next to the player’s old facing direction. The pin maintains the offset but ignores rotation.

Pin Behavior Modes

The Pin behavior’s Pin To action takes a Mode parameter:

For a sword or other accessory attached to a body part, you want Position & angle (with offset).

The Fix

// Event sheet, on weapon spawn
Sword.Pin.PinTo(Player, "Position & angle (with offset)")

The sword’s offset and angle are captured relative to the player’s rotation frame. When the player rotates, the offset and the sword’s angle both follow.

Why “Position only” Is Still Useful

Position only is the right choice for HUD elements pinned to a moving object — the HUD should follow its target but never rotate. A health bar above an enemy uses Position only so it always faces up regardless of how the enemy is rotated.

The rule of thumb: if the pinned sprite should look like part of the parent’s body, use offset rotation. If it should be a screen-aligned overlay, use Position only.

Re-Pinning After Teleport

If the pinned sprite or its parent teleports to a new location, the captured offset is now wrong. The pin will still attempt to maintain the old offset, which results in the pinned sprite snapping back to where it “should” be.

Unpin and re-pin:

// On teleport
Sword.Pin.Unpin()
Sword.SetPosition(Player.X + 12, Player.Y)
Sword.Pin.PinTo(Player, "Position & angle (with offset)")

The new pin captures the new offset cleanly.

Multiple Pinned Children

You can pin many sprites to the same parent. Each child captures its own offset independently. A character with sword, shield, and hat can have all three pinned with appropriate offsets, each following rotation correctly.

When the parent destroys, pinned children become unpinned automatically — but they don’t destroy. If you want them to die with the parent, listen for “On destroyed” on the parent and destroy each child.

Verifying

Rotate the parent 90 degrees at runtime. The pinned sprite should orbit around the parent and rotate by 90 degrees as well. If it stays in its original world position but the parent rotates around it, you’re using Position only. If it rotates around the parent but maintains its world-space angle, you’re using Position & angle without offset.

“Pin mode matters. Position only for HUDs, ‘with offset’ for attached body parts. Pick deliberately.”

Mirror also affects pinned sprites: a pinned sword on a player will mirror with the player by default. Combine with the asymmetric-hitbox advice from the mirror post.