ISteamUGC::SetItemsDisabledLocally:设置项目的本地禁用状态

ISteamUGC::SetItemsDisabledLocally:设置项目的本地禁用状态

SetItemsDisabledLocally 用于批量设置工坊项目在本机是否禁用,适合制作游戏内 Mod 开关。本页面向 Steamworks 游戏和工具开发者,说明接口声明、参数、返回方式以及与工坊内容生命周期相关的注意事项。

工坊内容获取与加载流程

函数声明

客户端通过初始化成功后的 SteamUGC() 接口访问;游戏服务器使用服务器上下文的 SteamGameServerUGC()。以下声明按本次核对的官方接口整理,编译时应以项目实际使用的 SDK 头文件为准。

bool SetItemsDisabledLocally( PublishedFileId_t *pvecPublishedFileIDs, uint32 unNumPublishedFileIDs, bool bDisabledLocally );

参数

参数 类型 方向与含义
pvecPublishedFileIDs PublishedFileId_t * 输入:包含要设置的项目 ID 的数组。
unNumPublishedFileIDs uint32 输入:ID 数组中的元素数量。
bDisabledLocally bool 输入:true 为本地禁用,false 为取消本地禁用。

返回值与完成方式

返回 bool,true 表示设置成功。调用方提供项目 ID 数组与数组中的元素数量。

调用规则与排查

本地禁用与取消订阅不同。默认情况下,GetNumSubscribedItems 和 GetSubscribedItems 会排除这些项目;要在管理界面列出它们,应把对应函数的 bIncludeLocallyDisabled 设为 true。修改完成后重新获取列表及状态。

使用场景

例如,玩家暂时关闭一个已安装的 Mod 时,游戏传入该项目 ID 并设置禁用。之后普通订阅枚举默认不再返回它,但管理页面仍可选择包含禁用项,使玩家能恢复使用。实际是否卸载已加载内容,由游戏自身的资源管理逻辑决定。

相关接口

GetNumSubscribedItems、GetSubscribedItems。回调、状态与类型参考整理了相关结构体和枚举,适合在处理结果时对照使用。

资料依据:Steamworks ISteamUGC:SetItemsDisabledLocally。资料核对日期:2026 年 11 月 4 日。