VFW
VFW copied to clipboard
Releases
I noticed you're keeping the unitypackage file in the source code. You could instead use github releases and add the package to the binary section similar to other github projects. ThIs might make it easier for users because some aren't interested in the source code and just want the package. It also makes it really easy to see what has changed since the last version.
I'd love to have a smoother download method for users but I'm not sure. The .unitypackage exist for a reason, I noticed that downloading or cloning the git repository won't yield a smooth import to a project, you'll get weird errors, missing types etc. I don't know if it's still happening now, you could give it a try. How will 'releases' address patches/small pushes/bug fixes after a release?
My thinking was (and I might be wrong here so feel free to disagree) that currently a user who has never used this framework before lands on your VFW github repo page could use a bit more of a hand. They read about the library and think it sounds great. The decide they want to use it so they read the "Usage" section with the following quote: "Import the VFW unitypackage into your project.".
Let's assume the user has never used a unitypackage before (keep in mind that your framework was the first I had ever used). The user might be thinking, "where is this unitypackage file and how do I use it?". At the moment the package is the Assets directory. I was thinking maybe there could be a link from the Usage section to the Releases page with some instructions something like:
Usage:
- Download the latest version of VFW as a unitypackage from the releases page.
- Import the framework into your project by right-clicking on your game scene inside your Unity editor while your project is open and selecting "Import Package" from the popup menu, followed by "Custom Package".
- Select the VFW unitypackage file from that you previously downloaded.
- A window should pop up asking which files to import. If you don't want to import the examples, check the box next to "VFW Examples". Finally, click the "Import" button at the bottom right of the window.
- etc.
I think this will lower the barrier to entry. I don't know about if releases will help address small bug fixes after a release. I suppose the user would just have to go off and download the newest version, perhaps removing their old version before reimporting. I was just thinking more about totally new users.
Ah yeah I see what you mean. I agree it might not be so clear to new comers. What you said could be achieved if I upload the unitypackage to a remote location and remove it from the repository. Then provide that link in the usage, on top in the readme.md included within your more detailed usage additions. To see changes users would read the HISTORY file, check the commits comments and maybe view the thread from time to time.
But I 'think' now it should be fine if you cloned the repo, and did a pull when there's an update. Cause I fixed a mistake in .gitignore which was preventing some files from being added. So everything 'should' work ok. I'll give that a try too.
I'm curious about why you would use an external location for the package file and a separate file for the history instead of using the facilities provided by github releases. Are you worried about being locked into github?
No particular reason, it's just that there's been a history.txt file around I've been using for a while. I guess I'm just busy adding new features/fixing broken ones & lazy to try something new lol - I'll give it a try though
Go with the one you think will be easier for you as you'll be the one maintaining it. An alternative approach is to both keep the history file and use github releases history too. Remember that this is just a polite suggestion and I won't think anything of it of you decide to just stick with the current method of releases.
Sure thanks, appreciate it! - I'll give it a try as soon as it bubbles out the priority stack!
@vexe you can include/upload files along with your releases, separate from your repo. The idea would be to create a release here on github, attach the UnityPackage to it, hit submit and call it a day. The release will appear on the release page, and the user can download the Unity Package directly (the one you attach to the release) without having to clone the repo or any of that nonesense.
It also tags the most recent commit on the branch you are creating the release from with a searchable tag, so even if people don't download the source from the release page can get an exact copy of the release's source code by doing a git checkout tag/<release tag name>
.