Skip to content

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

Open
@studentutu

Description

@studentutu

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.

  • .gitattributes
  • Smart merge - Unity Yaml Merge, with editor fall back to P4Merge/SVN
  • Preferable one of the automated Changelog.md generators
  • .editorconfig
  • .github for templates such as issue template pull request template
  • bash file to check the dependencies (if any) or set the solution to use editor configs from the project itself
  • explicitly lock some of the packages from being updated, lock unity version to LTS
  • if the project is getting larger - include the Library from one of the current working build. You can safely zip it and share it with people across the globe. It will mitigate the hours of reimport. (Probably unnecessary as new unity uses V2 cache server, but still something to be aware of).
  • explicitly set the presets, especially for audio (if larger - make streaming, if small - decompress on load). You can even make some automated relocations and renaming via custom import scripts.
  • the majority of the project will be the assets - so make sure to use the best compression on them (nobody wants to clone 10 gigs of setup project with a few hours queue of import). For audio - .ogg (best compression, without much of the quality loss). jpeg for image (if required in higher quality - png) and so on. A simple .gitignore rule will do the job, but again it can be explicitly stated somewhere in the guidelines.
  • just with any project - assets and contained parts of it can be packaged together in a strict way to be included in the project. This is also something that needs to be specified (naming, the path to mesh, materials, textures ...)

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttoolA PR that contains an Editor tool or custom Inspectors

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions