> For the complete documentation index, see [llms.txt](https://g3m.gitbook.io/g3mwiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://g3m.gitbook.io/g3mwiki/main/g3mlib/g3mlib.md).

# G3MLib

G3MLib is a .NET library for reading and editing GameMaker DATA, compiling and decompiling GML, exporting resources, creating and applying patches, merging changes, and generating difference reports.

The package version is **1.0.1** and its target framework is **.NET 10**. It has no application window or game launcher. An application using the library supplies its own interface, paths, progress display, and script interaction.

| Task                                      | Guide                                                                      |
| ----------------------------------------- | -------------------------------------------------------------------------- |
| Add the package and read a file           | [Getting started](/g3mwiki/main/g3mlib/getting-started.md)                 |
| Edit the DATA model and save it           | [DATA files](/g3mwiki/main/g3mlib/apis-and-examples/data-files.md)         |
| Create, validate, or apply a patch        | [Patch API](/g3mwiki/main/g3mlib/apis-and-examples/patches.md)             |
| Combine patches or compare resources      | [Merge and diff](/g3mwiki/main/g3mlib/apis-and-examples/merge-and-diff.md) |
| Export/import resource files              | [Resource API](/g3mwiki/main/g3mlib/apis-and-examples/resources.md)        |
| Decompile or compile game code            | [GML editing](/g3mwiki/main/g3mlib/apis-and-examples/gml.md)               |
| Work with a serialized resource project   | [Projects and scripts](/g3mwiki/main/g3mlib/apis-and-examples/projects.md) |
| Connect logs, progress, cache, and xdelta | [Host integration](/g3mwiki/main/g3mlib/apis-and-examples/hosting.md)      |
| Check common limitations                  | [FAQ](/g3mwiki/main/g3mlib/apis-and-examples/faq.md)                       |

Source and license notices are available in [the repository](https://github.com/y114git/G3MLib). G3MLib is GPL-3.0-only and includes code with GPL-3.0 and MPL-2.0 notices. Review the package's license files when distributing an application that includes it.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://g3m.gitbook.io/g3mwiki/main/g3mlib/g3mlib.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
