Duplicate Asset and All Dependencies

Is there a way to duplicate an asset and all of it’s dependencies? Or even better a tool to choose which dependencies get duplicated and some basic auto-rename functionality? When I’m developing shaders, I end up wanting to save branches of my particles/shaders/material instances all the time and it’s always time consuming to duplicate by hand then reconnect.