diff --git a/Facepunch.Steamworks/Structs/UgcItem.cs b/Facepunch.Steamworks/Structs/UgcItem.cs
index b272267..08617ba 100644
--- a/Facepunch.Steamworks/Structs/UgcItem.cs
+++ b/Facepunch.Steamworks/Structs/UgcItem.cs
@@ -108,6 +108,10 @@ namespace Steamworks.Ugc
/// The number of downvotes of this item
///
public uint VotesDown => details.VotesDown;
+ ///
+ /// Dependencies/children of this item or collection, available only from WithDependencies(true) queries
+ ///
+ public PublishedFileId[] Children;
public bool IsInstalled => (State & ItemState.Installed) == ItemState.Installed;
public bool IsDownloading => (State & ItemState.Downloading) == ItemState.Downloading;
diff --git a/Facepunch.Steamworks/Structs/UgcQuery.cs b/Facepunch.Steamworks/Structs/UgcQuery.cs
index 7401225..eb8901a 100644
--- a/Facepunch.Steamworks/Structs/UgcQuery.cs
+++ b/Facepunch.Steamworks/Structs/UgcQuery.cs
@@ -152,6 +152,7 @@ namespace Steamworks.Ugc
ReturnsKeyValueTags = WantsReturnKeyValueTags ?? false,
ReturnsDefaultStats = WantsDefaultStats ?? true, //true by default
ReturnsMetadata = WantsReturnMetadata ?? false,
+ ReturnsChildren = WantsReturnChildren ?? false,
};
}
diff --git a/Facepunch.Steamworks/Structs/UgcResultPage.cs b/Facepunch.Steamworks/Structs/UgcResultPage.cs
index 86a6e2b..352f98a 100644
--- a/Facepunch.Steamworks/Structs/UgcResultPage.cs
+++ b/Facepunch.Steamworks/Structs/UgcResultPage.cs
@@ -15,6 +15,7 @@ namespace Steamworks.Ugc
internal bool ReturnsKeyValueTags;
internal bool ReturnsDefaultStats;
internal bool ReturnsMetadata;
+ internal bool ReturnsChildren;
public IEnumerable- Entries
{
@@ -73,8 +74,16 @@ namespace Steamworks.Ugc
}
}
+ uint numChildren = item.details.NumChildren;
+ if ( ReturnsChildren && numChildren > 0 )
+ {
+ var children = new PublishedFileId[numChildren];
+ if ( SteamUGC.Internal.GetQueryUGCChildren( Handle, i, children, numChildren ) )
+ {
+ item.Children = children;
+ }
+ }
// TODO GetQueryUGCAdditionalPreview
- // TODO GetQueryUGCChildren
yield return item;
}