Skip to content

Commit 47f9e6a

Browse files
committed
Write README
1 parent d1e2e9d commit 47f9e6a

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

README.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,32 @@
11
# Newtonsoft Json.NET for Unity3D
2+
3+
[Newtonsoft Json.NET](http://www.newtonsoft.com/json) is a de facto standard JSON library in .NET ecosystem.
4+
But it doesn't support Unity3D, so it's a little bit hard to use JSON.NET just after getting [Json.NET package](https://www.nuget.org/packages/Newtonsoft.Json/).
5+
This package is for Unity3D programmers that need to use latest Json.NET in Unity3D.
6+
7+
## Where can I get it?
8+
9+
Visit [Release](https://github.com/SaladbowlCreative/Json.Net.Unity3D/releases)
10+
page to get latest Json.NET unity-package.
11+
12+
## What's the deal?
13+
14+
Unity3D has old-fashioned and bizarre .NET Framework like these :)
15+
- Basically based on .NET Framework 3.5 ([forked Mono 2.6](https://github.com/Unity-Technologies/mono/commits/unity-staging))
16+
- Runtime lacks some types in .NET Framework 3.5 (like System.ComponentModel.AddingNewEventHandler)
17+
- For iOS, dynamic code emission is forbidden by Apple AppStore.
18+
19+
Because Newtonsoft Json.NET doesn't handle these limitations, errors will welcome you
20+
when you use official Json.NET dll targetting .NET 3.5 Framework.
21+
22+
## What's done?
23+
24+
Following works are done to make Json.NET support Unity3D.
25+
26+
- Based on Newtonsoft Json.NET 7.0.1.
27+
- Disable IL generation to work well under AOT environment like iOS.
28+
- Remove code related with System.ComponentModel.
29+
- Remove System.Data and EntityKey support.
30+
- Remove XML support.
31+
- Remove JPath class to reduce size of DLL.
32+
- Remove DiagnosticsTraceWriter support.

0 commit comments

Comments
 (0)