<commit_before># Contributing to GitHub for Unity

## Build Requirements

This repository is LFS-enabled. To clone it, you should use a git client that supports git LFS 2.x and submodules.

### Windows

- Visual Studio 2015+ or Mono 4.x + bash shell (git bash). Mono 5.x will not work
- `UnityEngine.dll` and `UnityEditor.dll`.
  - If you've installed Unity in the default location of `C:\Program Files\Unity` or `C:\Program Files (x86)\Unity`, the build will be able to reference these DLLs automatically. Otherwise, you'll need to copy these DLLs from your Unity installation into the `lib` directory in order for the build to work

### MacOS

- Mono 4.x. Mono 5.x will likely not work
- `UnityEngine.dll` and `UnityEditor.dll`.
  - If you've installed Unity in the default location of `/Applications/Unity`, the build will be able to reference these DLLs automatically. Otherwise, you'll need to copy these DLLs from your Unity installation into the `lib` directory in order for the build to work

## Solution organization

The `GitHub.Unity.sln` solution includes several projects:

- dotnet-httpclient35 and octokit: external dependencies for threading and github api support, respectively. These are the submodules.
- packaging: empty projects with build rules that copy DLLs to various locations for testing
- Tests: unit and integration test projects
- GitHub.Logging: A logging helper library
- GitHub.Api: The core of the extension. This project is C#6 and includes async/await threading and other features that Unity cannot currently compile.
- GitHub.Unity: Unity-specific code. This project is compilable by Unity

## How to Build

Clone the repository and its submodules in a git GUI client that supports Git LFS or via the command line with the following commands

```
git lfs clone https://github.com/github-for-unity/Unity
cd Unity
git submodule init
git submodule deinit script
git submodule update
```

### Visual Studio

To build with Visual Studio 2015 open the solution file `GitHub.Unity.sln`. Select `Build Solution` in the `Build` menu.

### Mono and Bash (windows and mac)

To build with Mono 4.x and Bash execute `build.sh` in a bash shell.
<commit_msg>Update how-to-build.md<commit_after># Contributing to GitHub for Unity

## Build Requirements

This repository is LFS-enabled. To clone it, you should use a git client that supports git LFS 2.x and submodules.

### Windows

- Visual Studio 2015+ or Mono 4.x + bash shell (git bash). Mono 5.x will not work
- `UnityEngine.dll` and `UnityEditor.dll`.
  - If you've installed Unity in the default location of `C:\Program Files\Unity` or `C:\Program Files (x86)\Unity`, the build will be able to reference these DLLs automatically. Otherwise, you'll need to copy these DLLs from your Unity installation into the `lib` directory in order for the build to work

### MacOS

- Mono 4.x. Mono 5.x will likely not work
- `UnityEngine.dll` and `UnityEditor.dll`.
  - If you've installed Unity in the default location of `/Applications/Unity`, the build will be able to reference these DLLs automatically. Otherwise, you'll need to copy these DLLs from your Unity installation into the `lib` directory in order for the build to work

## Solution organization

The `GitHub.Unity.sln` solution includes several projects:

- dotnet-httpclient35 and octokit: external dependencies for threading and github api support, respectively. These are the submodules.
- packaging: empty projects with build rules that copy DLLs to various locations for testing
- Tests: unit and integration test projects
- GitHub.Logging: A logging helper library
- GitHub.Api: The core of the extension. This project is C#6 and includes async/await threading and other features that Unity cannot currently compile.
- GitHub.Unity: Unity-specific code. This project is compilable by Unity

## How to Build

### Visual Studio

To build with Visual Studio 2015 open the solution file `GitHub.Unity.sln`. Select `Build Solution` in the `Build` menu.

### Mono and Bash (windows and mac)

To build with Mono 4.x and Bash execute `build.sh` in a bash shell.

{'fraction_non_alphanumeric': 0.06964809384164222, 'fraction_numerical': 0.009286412512218964, 'mean_word_length': 4.220663265306122, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2993873', 'n_tokens_mistral': 1172, 'n_tokens_neox': 1057, 'n_words': 583}