*.desktop files, and making them is fairly easy. I do agree with you in that Unity should create a working launcher automatically, but in this case it looks like you will have to create the launcher yourself.
To create a launcher, just follow these steps:"
- Right click on your desktop, and select Create Launcher
- Name it as you like, and select for it the icon of your preference
- In the Location entry, enter the location to your
*.sh script - remember that it must be executable or else the launcher will not be able to open your application
- The comment, needless to say, is optional to enter
Check out this guide on creating launchers for more information.
Once that you have your launcher working, move it to
~/.local/share/applications/ (where you will find other launchers perhaps), launch the application and pin it to Unity. I think it will work afterwards, if not let me know.