I'm having problems with RegisterCallback on PopupFields instantiated by PropertyFields. Context: Custom editor (not a drawer or window) PropertyField created in UXML or C# (have tried both) Want to show/hide fields when value of PopupField changes (see GIF below) Polling with Schedule is a working fallback for my use case, but I'd prefer an event-driven approach. Symptoms: Originally was unable to get reference to the PopupField (I believe I've resolved this though) Solved: Wait until next frame to get PropertyField / PopupField and RegisterCallback Per this post from antoine-unity: "...some specialied elements like Listview and PropertyField may create their hierarchy after one frame." ^ That really seems like something that should be better documented. Deferring get and register to a scheduled method call or AttachToPanelEvent both seem to work. ChangeEvent<myEnumType> does not work at all My expectation is it would trigger after making a selection from the dropdown menu. I've only ever gotten it to work with a Vector3Field, actually. Although admittedly I have not tested it extensively (e.g. with floats, integers, text fields, etc). MouseUpEvent works, but is peculiar. Clicking the label triggers it. But clicking on the menu only works if I use the right mouse button. Possibly because Unity is internally eating the Mouse event? Per this post by UnityMat: "Button classes uses a Clickable manipulator internally which eats the MouseDown event and prevents its propagation." I tried the solution he shared, however, and it did not make a difference. Here's the component I'm building. It's a simple tween interface. I hide the "From" and "To" parameters, depending on the Mode of the tween, which is selected from a dropdown menu. The implementation captured here is built with scheduling, but as stated above, I'd prefer to use events, if possible.