Search Unity

PackageExporter now available for free on GitHub

Discussion in 'Assets and Asset Store' started by RazorCut, Dec 18, 2014.

  1. RazorCut

    RazorCut

    Joined:
    May 7, 2009
    Posts:
    393
    I've put up a new, free, open-source tool up on my GitHub called PackageExporter. I may end up putting it in the UAS for free as well, but I wanted to call attention to it now since it could be handy now for many.

    Repository: https://github.com/bwised/Bitverse-PackageExporter

    PackageExporter is a Unity3D custom editor tool that helps artists and coders share Unity assets for their projects. It provides a mechanism to associate a grouping of assets of any kind to an 'Asset Collection' which can be exported out as a Unity package with no coding required. A project can contain any number of these Asset Collections. And when the Asset Collection itself is included in the exported Unity package teams can continuosly pass generated packages back and forth as a pseudo-revision control mechanism. But most importantly, since Unity packages maintain asset linkages (for example, textures remain assigned to materials, import settings of meshes are maintained, etc.) and Asset Collections contain only the files needed for a particular unit of work (for example, all of the artwork and scripts for a Tank) it is a much better approach to sharing work amongst a Unity project's team members (particularly if they are geographally distributed).

    There is a really basic README with the project, but I need to enhance it further, particularly on how to build the project as is (short of just copying over the source code to your Unity project -- which is probably just fine for most). I have the build process make DLLs and create a sharable unity package of the tool with those DLLs so that it's easier for everybody on your team to use it. The README also lacks any how-to. But here is a brief start:

    First import one of the distribution packages in the repository's /dist directory. Then to create an 'Asset Collection', from the Project tab in Unity click 'Create / Bitverse / Asset Collection'; or from the menu, 'Assets / Bitverse / Asset Collection'. This will create a custom scriptable object asset in your project hierarchy called 'New.AssetCollection.' Rename it to whatever you want, such as 'Tank.AssetCollection.' You can then drag in any assets that you want onto the inspector for the Asset Collection. From that, you can see any other dependencies and chose to add those if you wish (that is optional because dependencies can be automatically included). At any time, you can click the 'Create Package' button to export out a sharable Unity package that contains those assets (and optionally any dependencies). This is a completely scriptless approach to sharing assets amongst artists and coders but maintain linkages of those assets and to minimize download sizes. I've found this tool to be immensely helpful with artists who can't use git or shouldn't go anywhere near git, for example.

    Let me know what you think about it. I'd love to hear any feedback on how the tool can be improved.

    Enjoy!