> For the complete documentation index, see [llms.txt](https://docs.lmms.io/developer-guides/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lmms.io/developer-guides/core/data-serialization/overview.md).

# Overview

LMMS uses XML-based serialization for internal data such as project files.

{% hint style="warning" %}
This might change in future, see <https://github.com/LMMS/lmms/issues/3981> for example.
{% endhint %}

Every class for serializable objects inherits `SerializingObject`.

Also, an object may inherit `SerializingObjectHook` and load/save settings when the hooked object load/save settings. Here are some examples:

* Views hooking models: `TrackContainerView` hooks `TrackContainer` in order to save UI settings along the core settings
