diff --git a/src/Nitride.Yaml/NitrideYamlEntityExtensions.cs b/src/Nitride.Yaml/NitrideYamlEntityExtensions.cs
new file mode 100644
index 0000000..076ceef
--- /dev/null
+++ b/src/Nitride.Yaml/NitrideYamlEntityExtensions.cs
@@ -0,0 +1,45 @@
+using System;
+
+using Gallium;
+
+using Nitride.Contents;
+
+using YamlDotNet.Serialization;
+
+namespace Nitride.Yaml;
+
+public static class NitrideYamlEntityExtensions
+{
+ ///
+ /// Parses the entity text as a YAML file and returns the results.
+ ///
+ public static TType? GetYaml(
+ this Entity entity,
+ Action? configure = null)
+ {
+ DeserializerBuilder builder = new();
+
+ configure?.Invoke(builder);
+
+ IDeserializer deserializer = builder.Build();
+
+ return entity.GetYaml(deserializer);
+ }
+
+ ///
+ /// Parses the entity text as a YAML file and returns the results.
+ ///
+ public static TType? GetYaml(
+ this Entity entity,
+ IDeserializer deserializer)
+ {
+ if (!entity.TryGet(out ITextContent content))
+ {
+ return default;
+ }
+
+ string text = content.GetText();
+
+ return deserializer.Deserialize(text);
+ }
+}