I, for personal use, have done this with several plugins. I have plugins that require another plugin to be installed. In that case it performs checks when you try to install if that other plugin is installed or throws an error if it isn't and aborts the installation. If specific parts can run if another plugin is installed you can use the function to check if a plugin is active to encapsulate just that part of code.