{"id":13731089,"url":"https://github.com/applejag/Newtonsoft.Json-for-Unity","last_synced_at":"2025-05-08T03:32:48.582Z","repository":{"id":38903939,"uuid":"181081717","full_name":"applejag/Newtonsoft.Json-for-Unity","owner":"applejag","description":"Newtonsoft.Json (Json.NET) 10.0.3, 11.0.2, 12.0.3, \u0026 13.0.1 for Unity IL2CPP builds, available via Unity Package Manager","archived":true,"fork":true,"pushed_at":"2022-03-03T20:38:49.000Z","size":34126,"stargazers_count":1201,"open_issues_count":23,"forks_count":131,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-05-03T13:16:13.735Z","etag":null,"topics":["hacktoberfest","newtonsoft-json","unity-package-manager","unity3d","unity3d-plugin","upm"],"latest_commit_sha":null,"homepage":"https://github.com/jilleJr/Newtonsoft.Json-for-Unity","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"JamesNK/Newtonsoft.Json","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/applejag.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-12T20:50:56.000Z","updated_at":"2025-04-29T00:40:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/applejag/Newtonsoft.Json-for-Unity","commit_stats":null,"previous_names":["applejag/newtonsoft.json-for-unity","jillejr/newtonsoft.json-for-unity"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applejag%2FNewtonsoft.Json-for-Unity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applejag%2FNewtonsoft.Json-for-Unity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applejag%2FNewtonsoft.Json-for-Unity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applejag%2FNewtonsoft.Json-for-Unity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/applejag","download_url":"https://codeload.github.com/applejag/Newtonsoft.Json-for-Unity/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252344589,"owners_count":21732985,"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":["hacktoberfest","newtonsoft-json","unity-package-manager","unity3d","unity3d-plugin","upm"],"created_at":"2024-08-03T02:01:23.743Z","updated_at":"2025-05-08T03:32:47.330Z","avatar_url":"https://github.com/applejag.png","language":"C#","funding_links":["https://opencollective.com/newtonsoftjson-for-unity"],"categories":["C#"],"sub_categories":[],"readme":"# ![Logo](Doc/icons/logo-with-unity.png) Newtonsoft.Json for Unity\n\n[![Latest Version @ OpenUPM](https://img.shields.io/npm/v/jillejr.newtonsoft.json-for-unity?label=openupm\u0026registry_uri=https://package.openupm.com\u0026style=flat-square)](https://openupm.com/packages/jillejr.newtonsoft.json-for-unity/)\n[![Latest Version @ Cloudsmith](https://api-prd.cloudsmith.io/badges/version/jillejr/newtonsoft-json-for-unity/npm/jillejr.newtonsoft.json-for-unity/latest/x/?render=true\u0026badge_token=gAAAAABeClWC7DvHIyN1IvhxcvGYUIO8CFfs-PsrT973U91i_wmUiuhrzsGZgXqecxQgrEMj4p_-UUUz7XaWjxH3NB8DfA2kkQ%3D%3D)](https://cloudsmith.io/~jillejr/repos/newtonsoft-json-for-unity/packages/detail/npm/jillejr.newtonsoft.json-for-unity/latest/)\n[![CircleCI](https://img.shields.io/circleci/build/gh/jilleJr/Newtonsoft.Json-for-Unity/master?logo=circleci\u0026style=flat-square)](https://circleci.com/gh/jilleJr/Newtonsoft.Json-for-Unity)\n[![Codacy grade](https://img.shields.io/codacy/grade/f91156e7066c484588f4dba263c8cf45?logo=codacy\u0026style=flat-square)](https://www.codacy.com/manual/jilleJr/Newtonsoft.Json-for-Unity?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=jilleJr/Newtonsoft.Json-for-Unity\u0026utm_campaign=Badge_Grade)\n[![Financial Contributors on Open Collective](https://opencollective.com/newtonsoftjson-for-unity/all/badge.svg?label=financial+contributors\u0026style=flat-square)](https://opencollective.com/newtonsoftjson-for-unity)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg?style=flat-square)](/CODE_OF_CONDUCT.md)\n\n\u003cabbr title=\"The names 'Json.NET' and 'Newtonsoft.Json' are interchangeable. They both refer to James Newton-King's JSON library.\"\u003e\nJson.\u003ci\u003e\u003c/i\u003eNET\u003c/abbr\u003e is a popular high-performance JSON framework for .NET and\nthe most used framework throughout the whole .NET ecosystem.\n\nThis repo is a **fork** of [JamesNK/Newtonsoft.Json][newtonsoft.json.git]\ncontaining custom builds for regular standalone, but more importantly AOT\ntargets such as all **IL2CPP builds (WebGL, iOS, Android, Windows, Mac OS X)**\nand portable .NET **(UWP, WP8)**.\n\n## ⚠ Deprecation warning\n\nSince late February 2022, **Unity has now published an updated version of their\npackage**: [`com.unity.nuget.newtonsoft-json@3.0`](https://docs.unity3d.com/Packages/com.unity.nuget.newtonsoft-json@3.0/manual/index.html)\n\nTheir package, since v2.0.0-preview.1, is a fork of this fork of\nNewtonsoft.Json. This is still true for their latest release of v3.0.1. This\nmeans that by switching over to their official package you will get:\n\n- The `Newtonsoft.Json.Utilities.AotHelper` type I forked from SaladLab that has\n  been a core part of this fork since the get-go.\n\n- All my IL2CPP and managed code stripping specific bugfixes.\n\n- Continue to use an up-to-date fork of Newtonsoft.Json, but now kept up-to-date\n  by Unity employees instead of me.\n\n- Also, it's practically always included in newer versions of Unity as many of\n  Unity's internal packages depend on it, so you probably don't even have to\n  install it any more!\n\nI will continue to provide as much support as I can bare in my free time in the\n[issues](https://github.com/jilleJr/Newtonsoft.Json-for-Unity/issues) and\n[discussions](https://github.com/jilleJr/Newtonsoft.Json-for-Unity/discussions),\nhowever, **please focus your support tickets towards \u003chttps://forum.unity.com/\u003e,\n\u003chttps://answers.unity.com/\u003e, and \u003chttps://issuetracker.unity3d.com/\u003e.**\n\nTo get started with their official package, you can follow my installation guide\nhere:\n\n### [Installing the official UPM package](https://github.com/jilleJr/Newtonsoft.Json-for-Unity/wiki/Install-official-via-UPM)\n\n---\n---\n---\n\n## Features\n\n- Provides Newtonsoft.Json v10.0.3, v11.0.2, v12.0.3, and v13.0.1 alternatives.\n\n- [Newtonsoft.Json-for-Unity.Converters][json.net-4-unity.converters]\n  package for converting Unity types, such as the Vector3, Quaternion, Color,\n  and [many, many more!][json.net-4-unity.converters-compatability]\n\n- Full support for IL2CPP builds\n\n- Delivered via Unity Package Manager for easy updating and version switching\n\n- Full Newtonsoft.Json.Tests test suite passes on Unity 2018.4.14f1 and\n  2019.2.11f1 with Mono and IL2CPP as scripting backend.\n\n- Precompiled as DLLs for faster builds\n\n- [_Newtonsoft.Json.Utility_.**AotHelper**][wiki-fix-aot-using-aothelper]\n  utility class for resolving common Ahead-Of-Time issues.\n  [(Read more about AOT)][wiki-what-even-is-aot]\n\n- Extensive [documentation of solving AOT issues with `link.xml`][wiki-fix-aot-using-link.xml]\n\n## Frequently asked questions (FAQ)\n\n### Is this project dead? I see no activity in a long time\n\nYes. Now it is. Ever since Unity adopted this package since late February 2022\nto provide an officially maintained Newtonsoft.Json package to the Unity\necosystem. ♥\n\nMy goal was before to be the most up-to-date fork of Newtonsoft.Json for Unity.\nUnity Technologies has now taken on this role.\n\nThis repository has completed its task: to provide Newtonsoft.Json. And is now\nthat it's fully endorced by Unity themselves, I can happily deprecate this\nproject like no other.\n\n### Help! I get `GUID [...] for assets '...' conflicts with: '...'`\n\n```\nGUID [6c694cfdc33ae264fb33e0cd1c7e25cf] for asset 'Packages/jillejr.newtonsoft.json-for-unity/Plugins/Newtonsoft.Json AOT/Newtonsoft.Json.dll' conflicts with:\n  'Packages/com.unity.nuget.newtonsoft-json/Runtime/AOT/Newtonsoft.Json.dll' (current owner)\nWe can't assign a new GUID because the asset is in an immutable folder. The asset will be ignored.\n```\n\nThis is because Unity's package, `com.unity.nuget.newtonsoft-json`, and this\npackage exists in the project at the same time. This is not supported, and\nthere's no direct plans on making this work.\n\nYou have to sadly uninstall this package, `jillejr.newtonsoft.json-for-unity`,\nand rely completely on their package instead.\n\n```diff\ndiff --git a/Packages/manifest.json b/Packages/manifest.json\nindex 49a3afa..f0edd27 100644\n--- a/Packages/manifest.json\n+++ b/Packages/manifest.json\n@@ -18,7 +18,7 @@\n     \"com.unity.collab-proxy\": \"1.2.16\",\n     \"com.unity.test-framework\": \"1.1.22\",\n     \"com.unity.ugui\": \"1.0.0\",\n-    \"jillejr.newtonsoft.json-for-unity\": \"13.0.102\",\n+    \"com.unity.nuget.newtonsoft-json\": \"3.0.1\",\n     \"jillejr.newtonsoft.json-for-unity.converters\": \"1.0.0\",\n     \"com.unity.modules.ai\": \"1.0.0\",\n     \"com.unity.modules.androidjni\": \"1.0.0\",\n```\n\nRead more: \u003chttps://github.com/jilleJr/Newtonsoft.Json-for-Unity/issues/111#issuecomment-813319182\u003e\n\n### What's the status of this repo vs `com.unity.nuget.newtonsoft-json`?\n\nI've tried so summarize it as best I can over at \u003chttps://github.com/jilleJr/Newtonsoft.Json-for-Unity/issues/145\u003e\n\n## Installation\n\n### Installation of the official UPM package\n\nI've written documentation on installing the new officially adopted fork (of my\nfork) of Newtonsoft.Json, which can be found here: \u003chttps://github.com/jilleJr/Newtonsoft.Json-for-Unity/wiki/Install-official-via-UPM\u003e\n\n### Deprecated installations\n\n\u003e #### Installation via [Package Installer][package-installer] _(experimental)_\n\u003e\n\u003e 1. [Click here to download `Install-jillejr.newtonsoft.json-for-unity-13.0.102.unitypackage`](https://package-installer.glitch.me/v1/installer/jilleJr/jillejr.newtonsoft.json-for-unity?registry=https%3A%2F%2Fnpm.cloudsmith.io%2Fjillejr%2Fnewtonsoft-json-for-unity)\n\u003e \n\u003e 2. Open the downloaded `.unitypackage` file in Unity. Easiestly done by\n\u003e    drag'n'dropping the file into the Unity window.\n\u003e 3. Click \"Import\" to import it all.\n\u003e \n\u003e 4. Once the installer has successfully compiled, it will add the correct UPM\n\u003e    registry and package to your project, followed by removing itself.\n\u003e \n\u003e \u003e The installer does not run until your project can successfully compile.\n\u003e \u003e Make sure to resolve all syntax- and other compiling errors, even just\n\u003e \u003e temporarily, so that the installer may execute.\n\u003e \n\u003e Much love :heart: to [@needle-tools](https://github.com/needle-tools) for\n\u003e making such a great tool!\n\u003e \n\u003e #### Installation via [OpenUPM][openupm] ![OpenUPM icon][openupm-icon.png]\n\u003e \n\u003e ```sh\n\u003e openupm add jillejr.newtonsoft.json-for-unity\n\u003e ```\n\u003e \n\u003e Full installation guide over at the wiki:\n\u003e [Installation via OpenUPM\n\u003e ![OpenUPM icon][openupm-icon.png]][wiki-installation-via-openupm]\n\u003e \n\u003e Much love :heart: to [@favoyang](https://github.com/favoyang) for making such a\n\u003e great tool!\n\u003e \n\u003e #### Installation via pure UPM\n\u003e \n\u003e Full installation guide over at the wiki:\n\u003e [Installation via pure UPM][wiki-installation-via-upm]\n\u003e \n\u003e #### Installation via Git in UPM\n\u003e \n\u003e You can also install via Git. This assumes you have Git installed on your\n\u003e computer.\n\u003e \n\u003e \u003e This is the least recommended version (but works as a fallback) because:\n\u003e \u003e\n\u003e \u003e - You will not be able to update the package via the Package Manager\n\u003e \u003e   interface if you install via Git.\n\u003e \u003e\n\u003e \u003e - This requires you, your coworkers, and your CI/CD pipelines to have\n\u003e \u003e   Git installed for the project to build.\n\u003e \u003e\n\u003e \u003e - It takes a lot longer to install as UPM will in most version clone the\n\u003e \u003e   entire history of the project.\n\u003e \n\u003e In later versions of Unity, you can import directly via the Package Manager\n\u003e interface.\n\u003e \n\u003e ![UPM, add from Git URL dropdown](Doc/upm-via-git.png)\n\u003e \n\u003e Supply the following URL:\n\u003e \n\u003e ```none\n\u003e https://github.com/jilleJr/Newtonsoft.Json-for-Unity.git#upm\n\u003e ```\n\nFull installation guide over at the wiki:\n[Installation via Git in UPM][wiki-installation-via-git-in-upm]\n\n## Newtonsoft.Json-for-Unity specific links\n\n- Newtonsoft.Json-for-Unity Wiki: [Wiki of this fork](https://github.com/jilleJr/Newtonsoft.Json-for-Unity/wiki)\n- Newtonsoft.Json-for-Unity release notes: [Release notes of this fork](https://github.com/jilleJr/Newtonsoft.Json-for-Unity/releases)\n- Newtonsoft.Json-for-Unity package repo: [Cloudsmith package](https://cloudsmith.io/~jillejr/repos/newtonsoft-json-for-unity/packages/detail/npm/jillejr.newtonsoft.json-for-unity/latest/)\n- Newtonsoft.Json-for-Unity QA: [GitHub discussions](https://github.com/jilleJr/Newtonsoft.Json-for-Unity/discussions/categories/q-a)\n\n## Newtonsoft.Json links\n\n- Newtonsoft.Json repo: [github.com/JamesNK/Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json)\n- Newtonsoft.Json homepage: [www.newtonsoft.com/json](https://www.newtonsoft.com/json)\n- Newtonsoft.Json documentation: [www.newtonsoft.com/json/help](https://www.newtonsoft.com/json/help)\n- Newtonsoft.Json release notes: [Release Notes of source repository](https://github.com/JamesNK/Newtonsoft.Json/releases)\n- Newtonsoft.Json QA: [Stack Overflow posts tagged with `json.net`](https://stackoverflow.com/questions/tagged/json.net)\n\n## Contributing\n\nThankful that you're even reading this :)\n\nIf you want to contribute, here's what you can do:\n\n- **Spread the word!** ❤ More users \u0026rarr; more feedback \u0026rarr; I get more\n  will-power to work on this project. This is the best way to contribute!\n\n- [Open an issue][issue-create]. Could be a feature request for a new converter,\n  or maybe you've found a bug?\n\n- [Tackle one of the unassigned issues][issue-list-unassigned]. If it looks like\n  a fun task to solve and no one is assigned, then just comment on it and say\n  that you would like to try it out.\n\n  I realize that few of the issues are trivial, so if you wish to tackle\n  something small then look at the list of unassigned issues over at the\n  [Unity converters package][json.net-4-unity.converters] repoistory.\n\n- Open a PR with some new feature or issue solved. Remember to ask before\n  starting to work on anything, so no two are working on the same thing.\n\n  Having a feature request or issue pop up and having the submitter suggesting\n  themselves to later add a PR for a solution is the absolute greatest gift\n  a repository maintainer could ever receive. 🎁\n\n  I have this [CONTRIBUTING.md](/CONTRIBUTING.md) file that contains some\n  guidelines. It may be good to read it beforehand.\n\n## Development\n\n### Building\n\nThese docs have been moved to [./ci/README.md](./ci/README.md).\n\n### Linting markdown\n\nAll pull requests must comply with the remark styling rules found in the\n`.remarkrc` files within this repo. The `.md` files are linted automatically\nby Codacy, but to run them locally you must first install some prerequisites:\n\n1. Install NPM\n\n2. Install `remark-cli` and some styling packages\n\n   ```sh\n   # You may need to add \"sudo\"\n   npm install --global remark-cli\n\n   # Intentionally not globally\n   npm install remark-lint remark-preset-lint-markdown-style-guide remark-frontmatter\n   ```\n\nThen lint away! For example:\n\n```sh\n$ remark .github\n.github/ISSUE_TEMPLATE/bug_report.md: no issues found\n.github/ISSUE_TEMPLATE/feature_request.md: no issues found\n.github/ISSUE_TEMPLATE/not-working-as-expected.md: no issues found\n.github/ISSUE_TEMPLATE/question.md: no issues found\n.github/PULL_REQUEST_TEMPLATE/code-update.md: no issues found\n.github/PULL_REQUEST_TEMPLATE/docs-update.md: no issues found\n```\n\n### Merging changes from JamesNK/Newtonsoft.Json\n\nCommon enough occurrence that we have a wiki page for just this.\n\nRead the [Working with branches, section \"Merging changes from JamesNKs\nrepo\"][wiki-workingwithbranches#merging] wiki page.\n\n### Backporting changes\n\nMost changes to this repo can be applied to all the different versions. For\nexample changes to the `link.xml` or bugfixes in the IL2CPP hotfixes should\nbe applied to all the different versions, 10.0.3, 11.0.2, 12.0.3, etc.\n\nThis repo has a `.backportrc.json` file that is used by the\n[sqren/backport](https://github.com/sqren/backport) CLI to make this easier. It\nis a tool that basically just does `git cherry-pick`, but with some other\nfeatures such as automatically create branches and PRs.\n\n1. Install Node.js: \u003chttps://nodejs.org/en/download/\u003e\n\n2. Install the `backport` CLI globally\n\n   ```sh\n   npm install -g backport\n   ```\n\n3. Configure the `backport` tool. It needs a GitHub access token and username\n   inside `~/.backport/config.json`.\n\n   More info here: \u003chttps://github.com/sqren/backport/blob/master/docs/configuration.md#global-config-backportconfigjson\u003e\n\n4. After a PR merge, checkout `master` and pull the newly merged PR you want to\n   backport, then run the `backport` CLI. It's interactive, so just follow the\n   steps.\n\n   ```sh\n   git checkout master\n\n   git pull\n\n   # The tool is interactive. Choose the merge commit you want to backport\n   # and it takes care of the rest.\n   backport\n   ```\n\n## Shameless plug\n\nThis project, giving a stable Newtonsoft.Json experience to the Unity community,\nis a hobby project for me and will always stay free.\n\nIf this tool gave you something you value, consider giving a coin back into this\ntool. Sponsor me with a cup of coffee, I drink the cheap stuff! ☕\n\n[![OpenCollective donar link][opencollective-img-induvidual]][opencollective-url]\n\n---\n\nThis package is licensed under The MIT License (MIT)\n\nCopyright \u0026copy; 2019 Kalle Jillheden (jilleJr)  \n\u003chttps://github.com/jilleJr/Newtonsoft.Json-for-Unity\u003e\n\nSee full copyrights in [LICENSE.md][license.md] inside repository\n\n[issue-create]: https://github.com/jilleJr/Newtonsoft.Json-for-Unity/issues/new/choose\n[issue-list-unassigned]: https://github.com/jilleJr/Newtonsoft.Json-for-Unity/issues?q=is%3Aopen+is%3Aissue+no%3Aassignee\n[json.net-4-unity.converters-compatability]: https://github.com/jilleJr/Newtonsoft.Json-for-Unity.Converters/blob/master/Doc/Compatability-table.md\n[json.net-4-unity.converters]: https://github.com/jilleJr/Newtonsoft.Json-for-Unity.Converters\n[license.md]: https://github.com/jilleJr/Newtonsoft.Json-for-Unity/blob/master/LICENSE.md\n[newtonsoft.json.git]: https://github.com/JamesNK/Newtonsoft.Json\n[opencollective-img-induvidual]: https://opencollective.com/newtonsoftjson-for-unity/individuals.svg?width=890\n[opencollective-url]: https://opencollective.com/newtonsoftjson-for-unity\n[openupm]: https://openupm.com/packages/jillejr.newtonsoft.json-for-unity/\n[openupm-icon.png]: https://github.com/jilleJr/Newtonsoft.Json-for-Unity/raw/c43046bc4763c0a5d3b0164a4f0a92e40de9d10e/Doc/icons/openupm-icon-16.png\n[package-installer]: https://package-installer.glitch.me/\n[wiki-fix-aot-using-aothelper]: https://github.com/jilleJr/Newtonsoft.Json-for-Unity/wiki/Fix-AOT-using-AotHelper\n[wiki-fix-aot-using-link.xml]: https://github.com/jilleJr/Newtonsoft.Json-for-Unity/wiki/Fix-AOT-using-link.xml\n[wiki-installation-via-openupm]: https://github.com/jilleJr/Newtonsoft.Json-for-Unity/wiki/Installation-via-OpenUPM\n[wiki-installation-via-upm]: https://github.com/jilleJr/Newtonsoft.Json-for-Unity/wiki/Installation-via-UPM\n[wiki-installation-via-git-in-upm]: https://github.com/jilleJr/Newtonsoft.Json-for-Unity/wiki/Installation-via-Git-in-UPM\n[wiki-what-even-is-aot]: https://github.com/jilleJr/Newtonsoft.Json-for-Unity/wiki/What-even-is-AOT\n[wiki-workingwithbranches#merging]: https://github.com/jilleJr/Newtonsoft.Json-for-Unity/wiki/Working-with-branches#merging-changes-from-jamesnks-repo\n[wiki-workingwithbranches]: https://github.com/jilleJr/Newtonsoft.Json-for-Unity/wiki/Working-with-branches\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapplejag%2FNewtonsoft.Json-for-Unity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapplejag%2FNewtonsoft.Json-for-Unity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapplejag%2FNewtonsoft.Json-for-Unity/lists"}