Overview
BlueprintXML is a lightweight plugin that brings full XML support to Unreal Engine. You can load XML from files or strings, navigate the tree, read/write attributes and content, and save back to disk – all with simple Blueprint nodes and async operations to keep your game responsive.
Working Examples
Simple XML Loading from a file

Simple XML Save to file

Classes
XmlFile
A class representing an XML file. It contains a root node used to access the whole XML tree.
Methods
- Get Last Error – Output
FString– The last error that occurred for this XML file. - Is Valid – Output
boolean– If this file has been successfully parsed and thus it's safe to access its root node. - Get Root Node – Output
boolean(Is Valid),XmlNode(Root Node) – If this root node is valid and can be accessed.
XmlNode
A class representing an XML node (a tag).
Methods
- Find Child Node – Input:
Tag(FString) – Output:Found(boolean),Child Node(XmlNode) – The found direct child node or nullptr. - Get Children Node – Output:
Out Nodes(TArray<XmlNode>) – All this node's direct children. - Get First Child Node – Output:
First Child(XmlNode) – This node's first child. - Get Next Node – Output:
Next Node(XmlNode) – The next node on the same level as this node. - Get Attribute – Input:
In Tag(FString) – Output:Attribute(FString) – This attribute's value. - Get Attributes – Output:
Attributes(TMap<FString>) – All the attributes of this node. - Get Content – Output:
Content(FString) – This node's content. - Get Tag – Output:
Tag(FString) – This node's tag. - Set Content – Input:
Content(FString) – This node's new content. - Append Child Node – Input:
Tag(FString),Content(FString) – The new child node's tag and content.
Custom Nodes (Async)
These nodes are asynchronous and perform the heavy operation outside of the game thread.
- Load XML File Async – Input:
File Path(FString) – Output:XmlFile– The new virtual XML file created. - Load XML String Async – Input:
Xml String(FString) – Output:XmlFile– The new virtual XML file created. - Save XML File Async – Input:
File to Save(XmlFile),Path(FString) – The location we want to save this file to.
Support
If you need help, have a feature request, or experience troubles, please contact us at pandores.marketplace@gmail.com