UnityTechnologies / open-project-1

Unity Open Project #1: Chop Chop
http://unity.com/open-projects
Apache License 2.0
5.74k stars 2.03k forks source link

Set the environmental tools/guide for the project with dotfiles, possible a small bash install script #346

Open studentutu opened 3 years ago

studentutu commented 3 years ago

There is a lot of features currently in development, and they need to be properly merged. One of the ways to mitigate the merges is to set up proper tools for the machine itself.

You can have a small collection of dotfiles, like .gitattributes, .vs, and such to set them up. It is even better if there will be a bash script to run and check if everything is set-up correctly

Take a look into the VRTK 4 - Tillia/Zillia or a newly disclosed google's Tilt Brush.

In general, when people use proper good tools, they will be more productive 👌

👉By the way, it can even include the list of packages to use within the IDE itself. Rider/VS Community with Resharper/Code snippets, Shaderlab Support, VS code with a few required packages installed, etc.

👀 Please take a look into Microsoft's Code of conduct and related features - https://github.com/microsoft/MixedRealityToolkit-Unity

ciro-unity commented 3 years ago

Thanks @studentutu, there are some good suggestions. Some we already have in the project, like locking the Unity version or asset naming conventions. Some others we'll do of course, like compressing assets...

Some things I don't agree with. For instance, using .jpg in the project is a very bad idea. Same for .oggs. You want clean files in the project, then they will be compressed in the build. But if you include compressed files as sources, sure, the project size goes down, but what if you have to work on them to tweak them? It's kind of bad practice.

Same for the Changelog generator... you mean for eventual final release of the game? I feel like the changelog for a game (especially of this size) needs to be curated rather than automated. Although we could implement it anyway to have a reference, and then throw away some of the text 🤷🏻‍♂️

studentutu commented 3 years ago

Completely agree regarding compressed files as sources. Regarding the Changelog - you are basically doing the same thing in the Unity youtube channel, where each video is a Changelog.md. Would be nice to actually copy the main features from it and just paste it in.

ciro-unity commented 3 years ago

Regarding the Changelog - you are basically doing the same thing in the Unity youtube channel, where each video is a Changelog.md. Would be nice to actually copy the main features from it and just paste it in.

Can you link an example of one? To understand the level of detail that you're thinking about, and whether it is useful.

studentutu commented 3 years ago

@ciro-unity here is a good example (it is automated, created based on the specific tags in the commit message) https://github.com/ExtendRealityLtd/Zinnia.Unity/blob/master/CHANGELOG.md

ciro-unity commented 3 years ago

Really cool.

I fear we don't have that kind of discipline here, for instance enforcing clear and descriptive Commit comments is not something I see happening on this project. Sure we could request it as part of the process, but it would only mean more work on our side to check that those requirements are met. We have guidelines in place for code and asset submission, but they are often ignored.