{"id":18647640,"url":"https://github.com/artcom/unity-project-setup-tool","last_synced_at":"2025-08-02T20:34:00.521Z","repository":{"id":203588372,"uuid":"707678425","full_name":"artcom/unity-project-setup-tool","owner":"artcom","description":null,"archived":false,"fork":false,"pushed_at":"2023-10-25T17:16:52.000Z","size":30,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-06-25T13:06:34.999Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/artcom.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-20T12:22:42.000Z","updated_at":"2024-01-22T09:49:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"8021e103-2428-4414-92a0-71b2359d7058","html_url":"https://github.com/artcom/unity-project-setup-tool","commit_stats":null,"previous_names":["artcom/unity-project-setup-tool"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/artcom/unity-project-setup-tool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Funity-project-setup-tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Funity-project-setup-tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Funity-project-setup-tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Funity-project-setup-tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artcom","download_url":"https://codeload.github.com/artcom/unity-project-setup-tool/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Funity-project-setup-tool/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268448362,"owners_count":24252019,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T06:27:15.516Z","updated_at":"2025-08-02T20:34:00.459Z","avatar_url":"https://github.com/artcom.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Setup Tool for Unity Projects\n\n\u003cimg src=\"/Documentation/Window_Screenshot.png\"\u003e\n\nThis adds a custom editor window which allows to to automate and customize the typical setup\nof a Unity project. It does the following:\n* Creates a folder structure\n* Generates assembly definitions for runtime, editor and testing scripts\n* Adjusts common project settings\n* Gives options to install some useful packages (new input system included by default)\n* Sets up a git repository\n\n## Getting started\nMinimum supported version: 2021.3.0f1\n\nInstall the tool via the package manager by going to `Add package from git URL` and pasting\nthe following url:\n\n`https://github.com/artcom/unity-project-setup-tool.git`\n\nThen you can open the window by going to: `Tools \u003e Project Setup`\n\nOnce you've made your adjustments, click on the `Execute Setup` button to perform the setup.\n\nAfter the setup is complete, you can remove this package.\n\nCAUTION: Do not run GitInitializer tests after git was set up, because the repository will\nbe deleted in the process.\n\n### For Developers\nClone this project inside the `Packages` folder of a Unity project if you want to make any\nchanges.\n\n## Folder Structure\nThe setup creates the following folders under `Assets`:\n```\nAssets\n├── 3rdParty\n├── Audio\n│   ├── Music\n│   └── Sound\n├── Graphics\n│   ├── Animations\n│   ├── Fonts\n│   ├── Materials\n│   ├── Models\n│   ├── ShaderGraphs\n│   ├── Sprites\n│   ├── Textures\n│   └── VFX\n├── Plugins\n├── Prefabs\n├── Resources\n├── Scenes\n├── Settings\n│   ├── Input\n│   ├── RenderPipeline\n│   └── UI\n└── Source\n    ├── Scripts\n    │   ├── Editor\n    │   ├── Runtime\n    │   └── Tests\n    │       ├── EditMode\n    │       ├── Infrastructure\n    │       └── PlayMode\n    ├── Shaders\n    └── UI\n```\nThe `UI` folders are designated for UI toolkit and can be included or excluded.\nThe `Tests` folders can be included or excluded as well.\n\nOn top of that, each folder that doesn't have a file inside is created with a `.keep`\nfile to make sure that it's getting checked in with git.\n\n## Assembly Definitions\nIn order to generate assembly definition files, you have to specify the root namespace.\nFailing to do so will skip the generation process and you will have to run the setup again.\n\nNote that the assembly definition references are done via string names. It is recommended\nto click on the `Use GUIDs` checkbox in the assembly definition files to avoid getting\nerrors if for whatever reason you need to rename them.\n\n## Project Settings\nThe tool provides options to set some common project settings. They are adjusted to fit\nrecommendations, but you can change them if you like.\n\n## Package Install Options\nThe Inputsystem package gets installed by default. On top of that, you have the option to\ninstall the following packages:\n* UniTask\n* MemoryPack\n* Graphy\n\nMemoryPack also downloads `System.Runtime.CompilerServices.Unsafe.dll` to the `Plugins`\nfolder to make sure that it works.\n\nAll necessary references are automatically added to the assembly definitions.\n\n## Git\nYou can choose to create a git repository when running the setup. You can also specify, if\nyou want to use git LFS and link to a remote repository. The setup will then run all the\ncommands, create an initial commit and push it up to the remote.\n\nThe changes to the package manifest due to installed packages is not included in the initial\ncommit, so you will have to commit that separately.\n\nNote that you need to have git installed and properly configured, else that part of the\nsetup will fail.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartcom%2Funity-project-setup-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartcom%2Funity-project-setup-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartcom%2Funity-project-setup-tool/lists"}