I don't like to link plugins on Amiga compatibles, because:
- There will be useless writes to the HD each time you run the program, because it "unpacks" the plugin to the temporary SYS:Storage/Hollywood directory and deletes it from there when you quit the program.
- The "unpacked" temporary plugin only gets deleted if you quit the program in a clean way. If your machine crashes or if you reboot/shutdown the machine without first quitting the program, the temporary plugin will be left on the HD. Next time you launch the program again, a whole new temp plugin will be written to the HD, and you might end up with unlimited amount of copies of the same plugin file on the HD.
- All the plugins found in that directory will be loaded in the memory each time you launch a Hollywood application, even when it doesn't require it. Only option to disable this feature is to launch the program with the SKIPPLUGINS=* option.
- Even though you can spread your program with the SKIPPLUGINS=* tooltype, but others don't necessarily do that with their programs and you should then remember to add this tooltype manually for the each program you use.
- When starting programs from shell, the tooltype won't be enough, but you'll have to give a command-line argument to skip the plugins. You can't expect users would do that, or even you to remember and bother to write that argument always.
- If a user decides to clean the global plugin directory or does a fresh install of the OS, then your program fails to start until he downloads/installs the plugin again.
Here's my checklist for an Aminet release:
- Create a separate program directory for each platform, and create an icon for the directory too.
- Copy the required platform specific plugin files to the directory with the executable.
- Add the SKIPPLUGINS=* tooltype for the executable's icon.