You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 5, 2024. It is now read-only.
@@ -45,6 +46,12 @@ section below to understand how to contribute your feedback.
45
46
46
47
## How Can I Contribute?
47
48
49
+
### How to Build
50
+
51
+
This repository is LFS-enabled. To clone it, you should use a git client that supports git LFS 2.x and submodules.
52
+
53
+
Please read the [How to Build](https://raw.githubusercontent.com/github-for-unity/Unity/master/docs/contributing/how-to-build.md) document for information on how to build GitHub for Unity.
54
+
48
55
### Reporting Bugs
49
56
50
57
This section guides you through submitting a bug report for GitHub for Unity.
[](https://gitter.im/github-for-unity/Unity?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5
+
[](https://gitter.im/github-for-unity/Unity?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
6
+
[](https://discord.gg/5zH8hVx)
7
+
[](https://www.twitch.tv/sh4na)
8
+
6
9
7
10
The GitHub for Unity extension brings [Git](https://git-scm.com/) and GitHub into [Unity](https://unity3d.com/), integrating source control into your work with friendly and accessible tools and workflows.
8
11
9
12
**Please note:** this software is currently alpha quality. Please refer to the [list of known issues](https://github.com/github-for-unity/Unity/issues?q=is%3Aissue+is%3Aopen+label%3Abug), and make sure you have backups of your work before trying it out.
10
13
14
+
#### Table Of Contents
15
+
16
+
[Installing GitHub for Unity](#installing-github-for-unity)
17
+
*[Requirements](#requirements)
18
+
*[Installation](#installation)
19
+
20
+
[Building and Contributing](#building-and-contributing)
21
+
22
+
[Log files and Known issues](#log-files-and-known-issues)
23
+
*[Windows](#windows)
24
+
*[macOS](#macos)
25
+
26
+
[Quick Guide to GitHub for Unity](#quick-guide-to-github-for-unity)
27
+
*[Opening the GitHub window](#opening-the-github-window)
28
+
*[Initialize Repository](#initialize-repository)
29
+
*[Authentication](#authentication)
30
+
*[Publish a new repository](#publish-a-new-repository)
31
+
*[Commiting your work - Changes tab](#commiting-your-work---changes-tab)
32
+
*[Pushing/pulling your work - History tab](#pushingpulling-your-work---history-tab)
33
+
*[Branches tab](#branches-tab)
34
+
*[Settings tab](#settings-tab)
35
+
36
+
[More Resources](#more-resources)
37
+
38
+
[License](#license)
39
+
11
40
## Installing GitHub for Unity
12
41
13
42
### Requirements
14
43
15
-
-[Unity 5.4 or higher](https://store.unity.com/download). Personal edition is fine.
44
+
-We've only tested the extension so far on Unity 5.4 to 5.6. There's currently an blocker issue opened for 5.3 support, so we know it doesn't run there. There are some issues for 2017.x, so it may or may not run well on that version. Personal edition is fine.
16
45
17
46
### Installation
18
47
19
48
To install the extension, download the latest package from [the releases page](https://github.com/github-for-unity/Unity/releases) and double click on it.
20
49
21
-
#### Opening the GitHub window
50
+
## Building and Contributing
51
+
52
+
The [CONTRIBUTING.md](CONTRIBUTING.md) document will help you get setup and familiar with the source. The [documentation](docs/) folder also contains more resources relevant to the project.
53
+
54
+
Please read the [How to Build](docs/contributing/how-to-build.md) document for sinformation on how to build GitHub for Unity.
55
+
56
+
If you're looking for something to work on, check out the [up-for-grabs](https://github.com/github-for-unity/Unity/issues?q=is%3Aopen+is%3Aissue+label%3Aup-for-grabs) label.
57
+
58
+
## Log files and Known issues
59
+
60
+
### Windows
61
+
62
+
The GitHub for Unity extension ships with a bundle of Git and Git LFS, to ensure that you have the correct version. These will be installed into `%LOCALAPPDATA%\GitHubUnityDebug` when the extension runs for the first time.
63
+
64
+
You can open a command line with the same Git and Git LFS version that the extension uses by going to the GitHub -> Command line menu.
65
+
66
+
Make sure a Git user and email address are set in the `%HOME%\.gitconfig` file before you initialize a repository for the first time. You can set these values by opening your `%HOME%\.gitconfig` file and adding the following section, if it doesn't exist yet:
67
+
68
+
```
69
+
[user]
70
+
name = Your Name
71
+
email = Your Email
72
+
```
73
+
74
+
The extension log file can be found at `%LOCALAPPDATA%\GitHubUnityDebug\github-unity.log`
75
+
76
+
#### macOS
77
+
78
+
The extension log file can be found at `~/.local/share/GitHubUnityDebug/github-unity.log`. This is a temporary location and will be changed in the future.
79
+
80
+
The current release has limited macOS support. macOS users will need to install the latest [Git](https://git-scm.com/downloads) and [Git LFS](https://git-lfs.github.com/) manually, and make sure these are on the path. You can configure the Git location in the Settings tab on the GitHub window.
81
+
82
+
Make sure a Git user and email address are set in the `~/.gitconfig` file before you initialize a repository for the first time. You can set these values by opening your `~/.gitconfig` file and adding the following section, if it doesn't exist yet:
83
+
84
+
```
85
+
[user]
86
+
name = Your Name
87
+
email = Your Email
88
+
```
89
+
90
+
## I have a problem with GitHub for Unity
91
+
92
+
First, please search the [open issues](https://github.com/github-for-unity/Unity/issues?q=is%3Aopen)
93
+
and [closed issues](https://github.com/github-for-unity/Unity/issues?q=is%3Aclosed)
94
+
to see if your issue hasn't already been reported (it may also be fixed).
95
+
96
+
If you can't find an issue that matches what you're seeing, open a [new issue](https://github.com/github-for-unity/Unity/issues/new)
97
+
and fill out the template to provide us with enough information to investigate
98
+
further.
99
+
100
+
## Quick Guide to GitHub for Unity
101
+
102
+
### Opening the GitHub window
22
103
23
104
You can access the GitHub window by going to Windows -> GitHub. The window opens by default next to the Inspector window.
@@ -35,98 +116,46 @@ If the current Unity project is not in a Git repository, the GitHub for Unity ex
35
116
- Configure the project to serialize meta files as text
36
117
- Create an initial commit with the `.gitignore` and `.gitattributes` file.
37
118
38
-
####Authentication
119
+
### Authentication
39
120
40
121
To set up credentials in Git so you can push and pull, you can sign in to GitHub by going to `Window` -> `GitHub` -> `Account` -> `Sign in`. You only have to sign in successfully once, your credentials will remain on the system for all Git operations in Unity and outside of it. If you've already signed in once but the Account dropdown still says `Sign in`, ignore it, it's a bug.
1. Go to [github.com](https://github.com) and create a new empty repository - do not add a license, readme or other files during the creation process.
47
128
2. Copy the **https** URL shown in the creation page
48
129
3. In Unity, go to `Windows` -> `GitHub` -> `Settings` and paste the url into the `Remote` textbox.
49
130
3. Click `Save repository`.
50
131
4. Go to the `History` tab and click `Push`.
51
132
52
-
####Commiting your work - Changes tab
133
+
### Commiting your work - Changes tab
53
134
54
135
You can see which files have been changed and commit them through the Changes tab. `.meta` files will show up in relation to their files on the tree, so you can select a file for comitting and automatically have their `.meta`
The history tab includes a `Push` button to push your work to the server. Make sure you have a remote url configured in the `Settings` tab so that you can push and pull your work.
61
142
62
143
To receive updates from the server by clicking on the `Pull` button. You cannot pull if you have local changes, so commit your changes before pulling.
The GitHub for Unity extension ships with a bundle of Git and Git LFS, to ensure that you have the correct version. These will be installed into `%LOCALAPPDATA%\GitHubUnityDebug` when the extension runs for the first time.
81
-
82
-
You can open a command line with the same Git and Git LFS version that the extension uses by going to the GitHub -> Command line menu.
83
-
84
-
Make sure a Git user and email address are set in the `%HOME%\.gitconfig` file before you initialize a repository for the first time. You can set these values by opening your `%HOME%\.gitconfig` file and adding the following section, if it doesn't exist yet:
85
-
86
-
```
87
-
[user]
88
-
name = Your Name
89
-
email = Your Email
90
-
```
91
-
92
-
##### Log files
93
-
94
-
The extension log file can be found at `%LOCALAPPDATA%\GitHubUnityDebug\github-unity.log`
95
-
96
-
#### macOS
97
-
98
-
The current release has limited macOS support. macOS users will need to install the latest [Git](https://git-scm.com/downloads) and [Git LFS](https://git-lfs.github.com/) manually, and make sure these are on the path. You can configure the Git location in the Settings tab on the GitHub window.
99
-
100
-
Make sure a Git user and email address are set in the `~/.gitconfig` file before you initialize a repository for the first time. You can set these values by opening your `~/.gitconfig` file and adding the following section, if it doesn't exist yet:
101
-
102
-
```
103
-
[user]
104
-
name = Your Name
105
-
email = Your Email
106
-
```
107
-
108
-
##### Log files
109
-
110
-
The extension log file can be found at `~/.local/share/GitHubUnityDebug/github-unity.log`. This is a temporary location and will be changed in the future.
111
-
112
-
## I have a problem with GitHub for Unity
113
-
114
-
First, please search the [open issues](https://github.com/github-for-unity/Unity/issues?q=is%3Aopen)
115
-
and [closed issues](https://github.com/github-for-unity/Unity/issues?q=is%3Aclosed)
116
-
to see if your issue hasn't already been reported (it may also be fixed).
117
-
118
-
If you can't find an issue that matches what you're seeing, open a [new issue](https://github.com/github-for-unity/Unity/issues/new)
119
-
and fill out the template to provide us with enough information to investigate
120
-
further.
121
-
122
-
## How can I contribute to GitHub for Unity?
123
-
124
-
The [CONTRIBUTING.md](./CONTRIBUTING.md) document will help you get setup and
125
-
familiar with the source. The [documentation](docs/) folder also contains more
126
-
resources relevant to the project.
127
-
128
-
If you're looking for something to work on, check out the [up-for-grabs](https://github.com/github-for-unity/Unity/issues?q=is%3Aopen+is%3Aissue+label%3Aup-for-grabs) label.
129
-
130
159
## More Resources
131
160
132
161
See [unity.github.com](https://unity.github.com) for more product-oriented
Copy file name to clipboardExpand all lines: docs/contributing/how-to-build.md
+29-12
Original file line number
Diff line number
Diff line change
@@ -6,28 +6,34 @@ This repository is LFS-enabled. To clone it, you should use a git client that su
6
6
7
7
### Windows
8
8
9
-
- Visual Studio 2015+ or Mono 4.x + bash shell (git bash). Mono 5.x will not work
9
+
- Visual Studio 2015+ or Mono 4.x + bash shell (git bash).
10
+
- Mono 5.x will not work
10
11
-`UnityEngine.dll` and `UnityEditor.dll`.
11
12
- 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
12
13
13
14
### MacOS
14
15
15
-
- Mono 4.x. Mono 5.x will likely not work
16
+
- Mono 4.x required.
17
+
- Mono 5.x will not work
16
18
-`UnityEngine.dll` and `UnityEditor.dll`.
17
19
- 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
18
20
19
-
## Solution organization
21
+
## How to Build
20
22
21
-
The `GitHub.Unity.sln` solution includes several projects:
23
+
Clone the repository and its submodules in a git GUI client that supports Git LFS, or via the command line with the following command:
22
24
23
-
- dotnet-httpclient35 and octokit: external dependencies for threading and github api support, respectively. These are the submodules.
24
-
- packaging: empty projects with build rules that copy DLLs to various locations for testing
25
-
- Tests: unit and integration test projects
26
-
- GitHub.Logging: A logging helper library
27
-
- 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.
28
-
- GitHub.Unity: Unity-specific code. This project is compilable by Unity
To be able to authenticate in GitHub for Unity, you'll need to:
32
+
33
+
-[Register a new developer application](https://github.com/settings/developers) in your profile.
34
+
- Copy [common/ApplicationInfo_Local.cs-example](../../common/ApplicationInfo_Local.cs-example) to `common/ApplicationInfo_Local.cs` and fill out the clientId/clientSecret fields for your application.
35
+
36
+
The build needs to reference `UnityEngine.dll` and `UnityEditor.dll`. These DLLs are included with Unity. If you've installed Unity in the default location, the build will be able to find them automatically. If not, copy these DLLs from your Unity installation into the `lib` directory in order for the build to work.
31
37
32
38
### Visual Studio
33
39
@@ -39,8 +45,19 @@ To build with Mono 4.x and Bash execute `build.sh` in a bash shell.
39
45
40
46
## Build Output
41
47
42
-
Once you've built the solution for the first time, you can open `src/UnityExtension/Assets/Editor/GitHub.Unity` in Unity. This folder contains the `GitHub.Unity` project and all the Unity UI and other Unity-specific code that you can have Unity compile as normal for quick testing and prototyping.
48
+
Once you've built the solution for the first time, you can open `src/UnityExtension` in Unity. This folder contains the `GitHub.Unity` project and all the Unity UI and other Unity-specific code that you can have Unity compile as normal for quick testing and prototyping.
43
49
44
50
The build also creates a Unity test project called `GitHubExtension` inside a directory called `github-unity-test` next to your local clone. For instance, if the repository is located at `c:\Projects\Unity` the test project will be at `c:\Projects\github-unity-test\GitHubExtension`. You can use this project to test binary builds of the extension in a clean environment (all needed DLLs will be copied to it every time you build).
45
51
46
52
Note: some files might be locked by Unity if have one of the build output projects open when you compile from VS or the command line. This is expected and shouldn't cause issues with your builds.
53
+
54
+
## Solution organization
55
+
56
+
The `GitHub.Unity.sln` solution includes several projects:
57
+
58
+
- dotnet-httpclient35 and octokit: external dependencies for threading and github api support, respectively. These are the submodules.
59
+
- packaging: empty projects with build rules that copy DLLs to various locations for testing
60
+
- Tests: unit and integration test projects
61
+
- GitHub.Logging: A logging helper library
62
+
- 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.
63
+
- GitHub.Unity: Unity-specific code. This project is compilable by Unity
0 commit comments