I use unity5.5.4, drag a particle effect prefab to a UI prefab, do not hit apply, so the select button could select the original particle prefab in editor. I use script to findchild the effect prefab node, and then call AssetDatabase.GetAssetPath(go)
to get the effect path, but the return value is an empty string
this is the code I used to find the dragged particle effect prefab from UI prefab:
GameObject child = go.transform.GetChild(i).gameObject;
if (child.tag == "particle") return child