# \#serialization

**URL:** https://forum.babylonjs.com/tag/serialization/72.md

[Latest](https://forum.babylonjs.com/latest.md) · [Categories](https://forum.babylonjs.com/categories.md) · [Tags](https://forum.babylonjs.com/tags.md)

---

## [Mesh.\_isWorldMatrixFrozen not serialized](https://forum.babylonjs.com/t/mesh-isworldmatrixfrozen-not-serialized/63255)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 1\
**Last updated:** [April 23, 2026, 1:21pm UTC](https://forum.babylonjs.com/t/mesh-isworldmatrixfrozen-not-serialized/63255 "2026-04-23T13:21:22Z")

</div>

Version: git HEAD TransformNode.\_isWorldMatrixFrozen is currently not serialized nor parsed for TransformNode, but it’s parsed for mesh: But in curr codebase there is nowhere parsedMesh.freezeWorldMatrix get serialize…

---

## [PBR \_imageProcessingConfiguration Parse Regression after 8.28.2](https://forum.babylonjs.com/t/pbr-imageprocessingconfiguration-parse-regression-after-8-28-2/62831)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 2\
**Last updated:** [March 18, 2026, 9:38am UTC](https://forum.babylonjs.com/t/pbr-imageprocessingconfiguration-parse-regression-after-8-28-2/62831 "2026-03-18T09:38:26Z")

</div>

Version: 8.28.2~8.55.3 Steps to repro: Open this playground at 8.28.2 (or any version after that) https://playground.babylonjs.com/?version=8.28.2#XH0PW9#7 Compare it with 8.28.1 https://playground.babylonjs.com/?ve…

---

## [GaussianSplattingMesh serializer](https://forum.babylonjs.com/t/gaussiansplattingmesh-serializer/62659)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 5\
**Last updated:** [March 9, 2026, 12:50am UTC](https://forum.babylonjs.com/t/gaussiansplattingmesh-serializer/62659 "2026-03-09T00:50:02Z")

</div>

For a long time GaussianSplattingMesh.prototype.serialize is missing so serialized GaussianSplattingMesh would result in a dummy mesh, not the GaussianSplattingMesh itself. Now it’s here: Some notes for reviewers: k…

---

## [Function included in serialized result after enableEdgesRendering](https://forum.babylonjs.com/t/function-included-in-serialized-result-after-enableedgesrendering/62575)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 4\
**Last updated:** [March 3, 2026, 6:20pm UTC](https://forum.babylonjs.com/t/function-included-in-serialized-result-after-enableedgesrendering/62575 "2026-03-03T18:20:24Z")

</div>

OS: Win10 Engine: WebGL2 Browser: any Version: 8.52.1 Steps to reproduce: Open the playground: Babylon.js Playground Check console for errors Expected: No errors Actual: s.materials\[0\].options.extraInitializati…

---

## [PostProcess: add doNotSerialize](https://forum.babylonjs.com/t/postprocess-add-donotserialize/61186)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 2\
**Last updated:** [October 30, 2025, 9:33am UTC](https://forum.babylonjs.com/t/postprocess-add-donotserialize/61186 "2025-10-30T09:33:45Z")

</div>

Background Following ISpriteManager: add doNotSerialize, PostProcess have no doNotSerialize to control if a post process should be serialized. Proposal Add a doNotSerialize to PostProcess with a default false, since it’…

---

## [ISpriteManager: add doNotSerialize](https://forum.babylonjs.com/t/ispritemanager-add-donotserialize/61133)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 2\
**Last updated:** [October 28, 2025, 2:31am UTC](https://forum.babylonjs.com/t/ispritemanager-add-donotserialize/61133 "2025-10-28T02:31:47Z")

</div>

Background Following IParticleSystem: add doNotSerialize, ISpriteManager and impls have no doNotSerialize to control if a sprite manager should be serialized. Proposal Add an optional doNotSerialize to ISpriteManager, a…

---

## [Optimize performance of ShadowGenerator.Parse](https://forum.babylonjs.com/t/optimize-performance-of-shadowgenerator-parse/60086)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 8\
**Last updated:** [August 25, 2025, 3:31pm UTC](https://forum.babylonjs.com/t/optimize-performance-of-shadowgenerator-parse/60086 "2025-08-25T15:31:26Z")

</div>

Background ShadowGenerator.Parse called scene.getMeshesById, which is O(n) in time, for each mesh id in parsedShadowGenerator.renderList, makes the loop O(m\*n) in time, where n is the count of meshes in scene, m is the c…

---

## [How to serialize a subset of scene](https://forum.babylonjs.com/t/how-to-serialize-a-subset-of-scene/59941)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 3\
**Last updated:** [August 11, 2025, 12:50am UTC](https://forum.babylonjs.com/t/how-to-serialize-a-subset-of-scene/59941 "2025-08-11T00:50:25Z")

</div>

Description Currently there is a SceneSerializer that serializes a scene to a json object, where almost all babylon-specify properties can be kept and transfered to another context. But since both Serialize and Serializ…

---

## [Optimize performance of AssetContainer.addToScene](https://forum.babylonjs.com/t/optimize-performance-of-assetcontainer-addtoscene/59125)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 2\
**Last updated:** [July 4, 2025, 12:44am UTC](https://forum.babylonjs.com/t/optimize-performance-of-assetcontainer-addtoscene/59125 "2025-07-04T00:44:16Z")

</div>

Background Following Optimize performance of AnimationGroup.Parse, the benchmark also shows that in AssetContainer.addToScene, getNodes takes most of CPU time. It called scene.getNodes() for every nodes added. A…

---

## [Optimize performance of AnimationGroup.Parse](https://forum.babylonjs.com/t/optimize-performance-of-animationgroup-parse/59124)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 6\
**Last updated:** [July 3, 2025, 7:38am UTC](https://forum.babylonjs.com/t/optimize-performance-of-animationgroup-parse/59124 "2025-07-03T07:38:02Z")

</div>

Background A recent profiling of loading a serialized scene with babylonFileLoader shows that scene.getNodeById takes about half of the CPU time in the whole loading process. After looking into the source, I found …

---

## [Texture.serialize, hardcoded image/png for all mime types](https://forum.babylonjs.com/t/texture-serialize-hardcoded-image-png-for-all-mime-types/56852)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 9\
**Last updated:** [April 11, 2025, 6:01pm UTC](https://forum.babylonjs.com/t/texture-serialize-hardcoded-image-png-for-all-mime-types/56852 "2025-04-11T18:01:53Z")

</div>

Version: 7.51.1 and git master OS: any Browser: any Engine: any Desc In texture.serialize, if the texture contains \_buffer as Uint8Array, commonly if loaded from a glb model, serializing texture will result in base64…

---

## [Compatiblity of serialization format (.babylon file)](https://forum.babylonjs.com/t/compatiblity-of-serialization-format-babylon-file/55632)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 8\
**Last updated:** [January 4, 2025, 12:36am UTC](https://forum.babylonjs.com/t/compatiblity-of-serialization-format-babylon-file/55632 "2025-01-04T00:36:39Z")

</div>

In docs, there is a SceneSerializer that serializes a scene to a .babylon file. https://doc.babylonjs.com/features/featuresDeepDive/Exporters/Save\_Babylon/ As babylon.js changes, the serialization format changes too, s…

---

## [doNotSerialize for material plugins](https://forum.babylonjs.com/t/donotserialize-for-material-plugins/55228)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 5\
**Last updated:** [December 10, 2024, 12:47am UTC](https://forum.babylonjs.com/t/donotserialize-for-material-plugins/55228 "2024-12-10T00:47:25Z")

</div>

Version: git master (d4c5968) Engine: WebGL2 Background: I’m making a material plugin and do not want it to be serialized, since it is designed to be attached at runtime by code. In Material#\_serializePlugins, which i…

---

## [What purpose do the serialized keys of a Mesh mean?](https://forum.babylonjs.com/t/what-purpose-do-the-serialized-keys-of-a-mesh-mean/54547)

<div class="topic-metadata">

**Author:** [@Symbitic](https://forum.babylonjs.com/u/Symbitic)\
**Replies:** 3\
**Last updated:** [November 11, 2024, 6:35am UTC](https://forum.babylonjs.com/t/what-purpose-do-the-serialized-keys-of-a-mesh-mean/54547 "2024-11-11T06:35:42Z")

</div>

I’m trying to work on a way for developing unit tests for a library I’m working on that uses Babylon. My first thought is to have every object carry a Mesh member, then use NullEngine and Babylon’s serializer to make a t…

---

## [SceneSerializer: serialized mesh contains Float32Array](https://forum.babylonjs.com/t/sceneserializer-serialized-mesh-contains-float32array/54467)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 3\
**Last updated:** [November 1, 2024, 11:08am UTC](https://forum.babylonjs.com/t/sceneserializer-serialized-mesh-contains-float32array/54467 "2024-11-01T11:08:22Z")

</div>

Ver: 7.32.0 Browser: Firefox and Chrome OS: Windows 10 Engine: WebGL2 Playground: Desc: Doc of BABYLON.SceneSerializer.SerializeMesh saying that it “Serialize a mesh into a JSON compatible object”, but the object …

---

## [Extracting materials json from .babylon scene file](https://forum.babylonjs.com/t/extracting-materials-json-from-babylon-scene-file/52119)

<div class="topic-metadata">

**Author:** [@zb\_sj](https://forum.babylonjs.com/u/zb_sj)\
**Replies:** 1\
**Last updated:** [July 17, 2024, 2:34pm UTC](https://forum.babylonjs.com/t/extracting-materials-json-from-babylon-scene-file/52119 "2024-07-17T14:34:57Z")

</div>

Hi everyone, I just wanted to give back to the community and share some quick shell script I assembled to extract materials from the saved .babylon file. My project utilizes deserializing each material json file. I mad…

---

## [How to properly save and load a scene?](https://forum.babylonjs.com/t/how-to-properly-save-and-load-a-scene/43436)

<div class="topic-metadata">

**Author:** [@fazil47](https://forum.babylonjs.com/u/fazil47)\
**Replies:** 2\
**Last updated:** [August 21, 2023, 2:10pm UTC](https://forum.babylonjs.com/t/how-to-properly-save-and-load-a-scene/43436 "2023-08-21T14:10:30Z")

</div>

I’m trying to implement a saving and loading feature on a scene made with imported GLB models, a dynamic skybox and post-processing effects (also contains a GizmoManager) by following this guide, but I’m getting an error…

---

## [colorShader kept and not reused after serialization of LinesMesh](https://forum.babylonjs.com/t/colorshader-kept-and-not-reused-after-serialization-of-linesmesh/36871)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 1\
**Last updated:** [December 26, 2022, 10:36am UTC](https://forum.babylonjs.com/t/colorshader-kept-and-not-reused-after-serialization-of-linesmesh/36871 "2022-12-26T10:36:41Z")

</div>

OS: Windows 10 x64 Browser: ungoogled-chromium 108.0.5359.95 Babylon.js: 5.39.0 Playground: https://playground.babylonjs.com/#E9EBSL#3 Open the inspector and expend the materials. Expected: The colorShader material…

---

## [colorShader and colorShaderOccQuery kept after serialize](https://forum.babylonjs.com/t/colorshader-and-colorshaderoccquery-kept-after-serialize/36870)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 1\
**Last updated:** [December 26, 2022, 10:30am UTC](https://forum.babylonjs.com/t/colorshader-and-colorshaderoccquery-kept-after-serialize/36870 "2022-12-26T10:30:31Z")

</div>

OS: Windows 10 x64 Browser: ungoogled-chromium 108.0.5359.95 Babylon.js: 5.39.0 Playground: https://playground.babylonjs.com/#E9EBSL#1 Open the inspector and expend the materials. Expected: The colorShader and colo…

---

## [Load serialized scene duplicates texture](https://forum.babylonjs.com/t/load-serialized-scene-duplicates-texture/36567)

<div class="topic-metadata">

**Author:** [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Replies:** 2\
**Last updated:** [December 15, 2022, 6:06pm UTC](https://forum.babylonjs.com/t/load-serialized-scene-duplicates-texture/36567 "2022-12-15T18:06:10Z")

</div>

OS: Windows 10 x64 Browser: ungoogled-chromium 108.0.5359.95 Babylon.js: 5.37.0 Playground: Babylon.js Playground Expected: Texture not duplicated after serializing and loading. Actual: Texture duplicated.

---

## [Exported GLB/GLTF renders with blown out lighting?](https://forum.babylonjs.com/t/exported-glb-gltf-renders-with-blown-out-lighting/32278)

<div class="topic-metadata">

**Author:** [@unclek](https://forum.babylonjs.com/u/unclek)\
**Replies:** 3\
**Last updated:** [July 20, 2022, 3:41pm UTC](https://forum.babylonjs.com/t/exported-glb-gltf-renders-with-blown-out-lighting/32278 "2022-07-20T15:41:25Z")

</div>

If I export this scene (https://www.babylonjs-playground.com/#2CU0P1#44) as GLB or GLTF, and then load it up in the GLTF viewer, or the babylon sandbox, everything is bright white. If I toggled the wrench beside the Albe…

---

## [Async. serialization of textures loaded from url](https://forum.babylonjs.com/t/async-serialization-of-textures-loaded-from-url/26006)

<div class="topic-metadata">

**Author:** [@andreasplesch](https://forum.babylonjs.com/u/andreasplesch)\
**Replies:** 4\
**Last updated:** [January 11, 2022, 8:14pm UTC](https://forum.babylonjs.com/t/async-serialization-of-textures-loaded-from-url/26006 "2022-01-11T20:14:32Z")

</div>

I find that I in order to serialize textures (or scenes with textures) it is necessary to wait until textures are loaded and ready: https://playground.babylonjs.com/#20OAV9#6273 This is using the WhenAllReady callback.…
