{"id":16995119,"url":"https://github.com/raicuparta/unity-libs-nuget","last_synced_at":"2025-04-12T05:38:33.506Z","repository":{"id":45378124,"uuid":"429060696","full_name":"Raicuparta/unity-libs-nuget","owner":"Raicuparta","description":"Template for generating stripped Unity game libs nugets","archived":false,"fork":false,"pushed_at":"2023-07-07T11:43:10.000Z","size":4080,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-12T05:38:27.891Z","etag":null,"topics":["unity","unity3d"],"latest_commit_sha":null,"homepage":"","language":"Batchfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Raicuparta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-17T13:41:00.000Z","updated_at":"2024-10-05T17:32:37.000Z","dependencies_parsed_at":"2023-01-18T10:05:25.089Z","dependency_job_id":null,"html_url":"https://github.com/Raicuparta/unity-libs-nuget","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raicuparta%2Funity-libs-nuget","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raicuparta%2Funity-libs-nuget/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raicuparta%2Funity-libs-nuget/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raicuparta%2Funity-libs-nuget/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Raicuparta","download_url":"https://codeload.github.com/Raicuparta/unity-libs-nuget/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248525168,"owners_count":21118616,"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","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":["unity","unity3d"],"created_at":"2024-10-14T03:47:38.642Z","updated_at":"2025-04-12T05:38:33.476Z","avatar_url":"https://github.com/Raicuparta.png","language":"Batchfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Unity Game Libs Nuget Creator\n\nCreates nugets with stripped and publicized libraries for Unity game modding.\n\nIf the game gets updated, this package needs to get updated too.\n\n`strip-assembiles.bat` does two things:\n\n- Strips game assembiles using [NStrip](https://github.com/BepInEx/NStrip). This removes game code and leaves only API definitions.\n- Publicizes `Assembly.CSharp.dll` and `AAssembly-CSharp-firstpass.dll`. This makes all types, methods, properties and fields public, to make modding easier.\n\n## Usage\n\n### Nuget account\n\n- Go to [nuget.org](https://nuget.org/).\n- Either log in, or create a new account.\n- [Create a new API key](https://www.nuget.org/account/apikeys) with permissions to push new packages.\n\n### Prepare your repository\n\n- [Create a new repository based on this template](https://github.com/Raicuparta/unity-libs-nuget/generate).\n- Add a secret called `NUGET_KEY` to this repository. Give it the value of the API key you created earlier.\n- Update the repository's name. This will be used as your Nuget ID, so it can't clash with another nuget package on [nuget.org](https://nuget.org/).\n- Update the repository's description. This will be used as the nuget's description too.\n\n### Generate the stripped libraries\n\n- Make sure you start off with a clean version of the game files, with no extra/modified dlls.\n- Drag the game's exe and drop it on `strip-assembiles.bat`.\n- Dlls are stripped, publicized, and placed in `package\\lib`.\n\n### Updating the Nuget\n\n- Edit the `.nuspec` file, make `\u003cversion\u003e` match the game version where these assemblies come from.\n- Push to the default branch.\n- Updating the default branch will trigger a workflow that will pack the dlls and update the NuGet package.\n\n### Publicized assemblies\n\nBy default, only `Assembly-CSharp.dll` and `Assembly-CSharp-firstpass.dll` are publicized. All other dlls are stripped only. To publicize other dlls, edit `strip-assemblies.bat` and add the dll names to the `toPublicize` variable.\n\n### Untouched assemblies\n\nBy default, every game assembly gets stripped. If there's any assembly you wish to keep in the package in their original state, add the dll names to the `dontTouch` variable.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraicuparta%2Funity-libs-nuget","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraicuparta%2Funity-libs-nuget","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraicuparta%2Funity-libs-nuget/lists"}