GameEvents.onPartAttach should be good enough That's amazing! Thanks for letting me know about the "GameEvents" class. It took me a minute to figure out how to subscribe to the events, but here it is: GameEvents.onPartAttach.Add(OnPartAttach); void OnPartAttach(GameEvents.HostTargetAction<Part, Part> data) { Debug.Log("OnPartAttach"); } And no, it doesn't fire for the first part, but does for every additional part, and of course GameEvents.onPartRemove for the opposite.