We have been having a conversation about using external DLLs with unity as compared to using scripts inside the projects. I’ve put together my own list of pros/cons and would be interested to know how others deal with this topic:
For me the pros and cons are:
pros for external DLLs:
- Organization
- Reusability
- Testing
- Automation
- Conflicts resolve easily
- Properly structured code results in better structured projects. Everything just works smoother and is easier to debug.
cons:
- Unable to debug using built-in debugging tools (must use your own). We have our own debug console that is more useful for me regardless.
- Setup for a team takes longer. I can setup a large project in about a day now - with full automation and build support - it was much longer the first time.
- Does require shedding some Unity practices to decouple logic from objects in a meaningful way.
- DLL scripts can’t be called with executeMethod command argument - so you must create a wrapper for those.
- Without proper setup you have to deal with binary conflicts a lot.
We use external DLLs and have been very happy with the results - but it does take some design change and extra setup to get working in a very good way.
Please share any thoughts