public void CreateSceneWithExtras() { var root = ModelRoot.CreateModel(); var scene = root.UseScene("Empty Scene"); var dict = new Dictionary <string, object>(); dict["author"] = "me"; dict["string_null"] = (string)null; dict["value1"] = 17; dict["array1"] = new List <int> { 1, 2, 3 }; dict["array_empty"] = new List <int>(); dict["dict1"] = new Dictionary <string, object> { ["A"] = 16, ["B"] = "delta", ["C"] = new List <int> { 4, 6, 7 }, ["D"] = new Dictionary <string, int> { ["S"] = 1, ["T"] = 2 } }; dict["dict2"] = new Dictionary <string, int> { ["2"] = 2, ["3"] = 3 }; var extras = JsonContent.CreateFrom(dict); root.Extras = extras; var bytes = root.WriteGLB(); var rootBis = ModelRoot.ParseGLB(bytes); var a = root.Extras; var b = rootBis.Extras; var json = rootBis.Extras.ToJson(); var c = IO.JsonContent.Parse(json); Assert.IsTrue(JsonContentTests.AreEqual(a, b)); Assert.IsTrue(JsonContentTests.AreEqual(a, extras)); Assert.IsTrue(JsonContentTests.AreEqual(b, extras)); Assert.IsTrue(JsonContentTests.AreEqual(c, extras)); Assert.AreEqual(2, c.GetValue <int>("dict1", "D", "T")); }