Giter Club home page Giter Club logo

newtonsoft.json-for-unity's Introduction

Logo Newtonsoft.Json for Unity

Latest Version @ OpenUPM Latest Version @ Cloudsmith CircleCI Codacy grade Financial Contributors on Open Collective Contributor Covenant

Json.NET is a popular high-performance JSON framework for .NET and the most used framework throughout the whole .NET ecosystem.

This repo is a fork of JamesNK/Newtonsoft.Json containing custom builds for regular standalone, but more importantly AOT targets such as all IL2CPP builds (WebGL, iOS, Android, Windows, Mac OS X) and portable .NET (UWP, WP8).

Features

Installation

Installation via Package Installer (experimental)

  1. Click here to download Install-jillejr.newtonsoft.json-for-unity-13.0.102.unitypackage

  2. Open the downloaded .unitypackage file in Unity. Easiestly done by drag'n'dropping the file into the Unity window.

  3. Click "Import" to import it all.

  4. Once the installer has successfully compiled, it will add the correct UPM registry and package to your project, followed by removing itself.

The installer does not run until your project can successfully compile. Make sure to resolve all syntax- and other compiling errors, even just temporarily, so that the installer may execute.

Much love โค๏ธ to @needle-tools for making such a great tool!

Installation via OpenUPM OpenUPM icon

openupm add jillejr.newtonsoft.json-for-unity

Full installation guide over at the wiki: Installation via OpenUPM OpenUPM icon

Much love โค๏ธ to @favoyang for making such a great tool!

Installation via pure UPM

Full installation guide over at the wiki: Installation via pure UPM

Installation via Git in UPM

You can also install via Git. This assumes you have Git installed on your computer.

This is the least recommended version (but works as a fallback) because:

  • You will not be able to update the package via the Package Manager interface if you install via Git.

  • This requires you, your coworkers, and your CI/CD pipelines to have Git installed for the project to build.

  • It takes a lot longer to install as UPM will in most version clone the entire history of the project.

In later versions of Unity, you can import directly via the Package Manager interface.

UPM, add from Git URL dropdown

Supply the following URL:

https://github.com/jilleJr/Newtonsoft.Json-for-Unity.git#upm

Full installation guide over at the wiki: Installation via Git in UPM

Newtonsoft.Json-for-Unity specific links

Newtonsoft.Json links

Contributing

Thankful that you're even reading this :)

If you want to contribute, here's what you can do:

  • Spread the word! โค More users โ†’ more feedback โ†’ I get more will-power to work on this project. This is the best way to contribute!

  • Open an issue. Could be a feature request for a new converter, or maybe you've found a bug?

  • Tackle one of the unassigned issues. If it looks like a fun task to solve and no one is assigned, then just comment on it and say that you would like to try it out.

    I realize that few of the issues are trivial, so if you wish to tackle something small then look at the list of unassigned issues over at the Unity converters package repoistory.

  • Open a PR with some new feature or issue solved. Remember to ask before starting to work on anything, so no two are working on the same thing.

    Having a feature request or issue pop up and having the submitter suggesting themselves to later add a PR for a solution is the absolute greatest gift a repository maintainer could ever receive. ๐ŸŽ

    I have this CONTRIBUTING.md file that contains some guidelines. It may be good to read it beforehand.

Development

Building

These docs have been moved to ./ci/README.md.

Linting markdown

All pull requests must comply with the remark styling rules found in the .remarkrc files within this repo. The .md files are linted automatically by Codacy, but to run them locally you must first install some prerequisites:

  1. Install NPM

  2. Install remark-cli and some styling packages

    # You may need to add "sudo"
    npm install --global remark-cli
    
    # Intentionally not globally
    npm install remark-lint remark-preset-lint-markdown-style-guide remark-frontmatter

Then lint away! For example:

$ remark .github
.github/ISSUE_TEMPLATE/bug_report.md: no issues found
.github/ISSUE_TEMPLATE/feature_request.md: no issues found
.github/ISSUE_TEMPLATE/not-working-as-expected.md: no issues found
.github/ISSUE_TEMPLATE/question.md: no issues found
.github/PULL_REQUEST_TEMPLATE/code-update.md: no issues found
.github/PULL_REQUEST_TEMPLATE/docs-update.md: no issues found

Merging changes from JamesNK/Newtonsoft.Json

Common enough occurrence that we have a wiki page for just this.

Read the Working with branches, section "Merging changes from JamesNKs repo" wiki page.

Backporting changes

Most changes to this repo can be applied to all the different versions. For example changes to the link.xml or bugfixes in the IL2CPP hotfixes should be applied to all the different versions, 10.0.3, 11.0.2, 12.0.3, etc.

This repo has a .backportrc.json file that is used by the sqren/backport CLI to make this easier. It is a tool that basically just does git cherry-pick, but with some other features such as automatically create branches and PRs.

  1. Install Node.js: https://nodejs.org/en/download/

  2. Install the backport CLI globally

    npm install -g backport
  3. Configure the backport tool. It needs a GitHub access token and username inside ~/.backport/config.json.

    More info here: https://github.com/sqren/backport/blob/master/docs/configuration.md#global-config-backportconfigjson

  4. After a PR merge, checkout master and pull the newly merged PR you want to backport, then run the backport CLI. It's interactive, so just follow the steps.

    git checkout master
    
    git pull
    
    # The tool is interactive. Choose the merge commit you want to backport
    # and it takes care of the rest.
    backport

Shameless plug

This project, giving a stable Newtonsoft.Json experience to the Unity community, is a hobby project for me and will always stay free.

If this tool gave you something you value, consider giving a coin back into this tool. Sponsor me with a cup of coffee, I drink the cheap stuff! โ˜•

OpenCollective donar link


This package is licensed under The MIT License (MIT)

Copyright ยฉ 2019 Kalle Jillheden (jilleJr)
https://github.com/jilleJr/Newtonsoft.Json-for-Unity

See full copyrights in LICENSE.md inside repository

newtonsoft.json-for-unity's People

Contributors

304notmodified avatar aarnott avatar anaisbetts avatar andre-n avatar applejag avatar benaadams avatar damirainullin avatar dogwatch avatar eisber avatar fffej avatar galad avatar idisposable avatar jack4it avatar jamesnk avatar jonhanna avatar mattjohnsonpint avatar paulirwin avatar pieceofsummer avatar pyitphyoaung avatar ravensorb avatar redth avatar romasz avatar stakx avatar taylorwood avatar tylerbrinkley avatar uhrb avatar victornicollet avatar xp44mm avatar yeroo avatar ygalbel avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.