Files
vrchat-project-template/README.md
2026-08-11 20:45:43 +05:00

76 lines
3.1 KiB
Markdown

# VRChat Unity project template
Omni-template for making VRChat content
## Synopsis
The template have:
- Unity Editor settings for work with Git
- Git settings for work with Unity Editor
- Git LFS attributes
- Bootstrapper for automated SDK packages download
- Compatible with CreatorCompanion (but it may fuck up line endings!)
> If VPM Resolver is not present, Bootstapper will install latest version of it which might not be compatible with older Unity versions.
> Add `com.vrchat.core.vpm-resolver` to git, if you want to lock it (you need to adjust `.gitignore` file for this).
The repository have separate branches for separate content types, the only difference between them is default packages in `Packages/vpm-manifest.json`
> Branches structure
>
> ```text
> -master-+---------------------->
> |\
> | \-world-------------->
> \
> \-avatar------------->
> ```
## How to use for a new project
1. `git init` a new repo from the branch you want
2. Init Git LFS with `git lfs install`
3. Open the project in Unity
4. Let VPM resolve all packages
5. Load an example and check that everything works without errors
> After opening the project in Unity Editor you might want to add **all** new files to Git.
## How to work with existing project
1. Check that you have git-lfs installed `git lfs status`
2. Pull existing repo `git pull https://gitlab.com/ProcyonLotor/vrchat-template.git` and optionally pull all LFS objects `git lfs fetch --all`
(repo will take much more disk space, but will have complete project history)
3. (Optional) Some VPM packages may come from Community Repositories,
add them from project's [vpm-repositories.txt](./vpm-repositories.txt) file to CreatorCompanion,
or run this command in project's folder on Windows
```cmd
FOR /F %l IN (.\vpm-repositories.txt) DO vpm add repo %l
```
and Linux
```bash
for l in $(cat ./vpm-repositories.txt); do vpm add repo "$l"; done
```
> The command requires `vpm` tool installed, see [vpm cli](https://vcc.docs.vrchat.com/vpm/cli/)
> **IMPORTANT**: When opening a previously worked on project on a new machine, Unity may warn you about script errors and suggest you enter Safe Mode,
> this is because VPM has not loaded yet and didn't resolved the required packages, ignore the errors and continue loading.
> Sometimes you may need to reopen the project couple times for all packages to resolve and scripts to recompile.
## Convenience scripts
The template also have some convenience shell scripts for both Windows and Linux:
- `./repo-cleanup.*` - Cleans up all untracked trash in the working tree (i.e. `Library/`, `Build/`, etc.)
- `./repo-discard.*` - Reverts all changed files back to the state of the last commit
- `./repo-reset.*` - Completely resets the state of the local repo to the state of the remote repository (dangerous, use with caution!)
## License
For project's license see [LICENSE](./LICENSE) file.
Project contains `com.vrchat.core.bootstrap` package, for license see [Packages/com.vrchat.core.bootstrap/License.md](./Packages/com.vrchat.core.bootstrap/License.md) file.