diff --git a/Assets/YooAsset/Samples~/Extension Sample/Runtime/GetCacheBundleSizeOperation.cs b/Assets/YooAsset/Samples~/Extension Sample/Runtime/GetCacheBundleSizeOperation.cs
new file mode 100644
index 00000000..e5cb9c08
--- /dev/null
+++ b/Assets/YooAsset/Samples~/Extension Sample/Runtime/GetCacheBundleSizeOperation.cs
@@ -0,0 +1,70 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.IO;
+using YooAsset;
+
+///
+/// 获取沙盒目录里缓存文件大小
+///
+public class GetCacheBundleSizeOperation : GameAsyncOperation
+{
+ private enum ESteps
+ {
+ None,
+ GetCacheFiles,
+ Done,
+ }
+
+ private readonly string _packageName;
+ private ESteps _steps = ESteps.None;
+
+ ///
+ /// 总大小(单位:字节)
+ ///
+ public long TotalSize = 0;
+
+
+ public GetCacheBundleSizeOperation(string packageName)
+ {
+ _packageName = packageName;
+ }
+ protected override void OnStart()
+ {
+ _steps = ESteps.GetCacheFiles;
+ }
+ protected override void OnUpdate()
+ {
+ if (_steps == ESteps.None || _steps == ESteps.Done)
+ return;
+
+ if (_steps == ESteps.GetCacheFiles)
+ {
+ long totalSize = 0;
+ string directoryRoot = GetCacheDirectoryRoot();
+ var directoryInfo = new DirectoryInfo(directoryRoot);
+ if (directoryInfo.Exists)
+ {
+ FileInfo[] fileInfos = directoryInfo.GetFiles("*", SearchOption.AllDirectories);
+ foreach (FileInfo fileInfo in fileInfos)
+ {
+ totalSize += fileInfo.Length;
+ }
+ }
+
+ TotalSize = totalSize;
+ _steps = ESteps.Done;
+ Status = EOperationStatus.Succeed;
+ }
+ }
+ protected override void OnAbort()
+ {
+ }
+
+ private string GetCacheDirectoryRoot()
+ {
+ string rootDirectory = YooAssetSettingsData.GetYooMobileCacheRoot();
+ string packageRoot = PathUtility.Combine(rootDirectory, _packageName);
+ return PathUtility.Combine(packageRoot, DefaultCacheFileSystemDefine.SaveFilesFolderName);
+ }
+}
\ No newline at end of file
diff --git a/Assets/YooAsset/Samples~/Extension Sample/Runtime/GetCacheBundleSizeOperation.cs.meta b/Assets/YooAsset/Samples~/Extension Sample/Runtime/GetCacheBundleSizeOperation.cs.meta
new file mode 100644
index 00000000..28716555
--- /dev/null
+++ b/Assets/YooAsset/Samples~/Extension Sample/Runtime/GetCacheBundleSizeOperation.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8790bf5eb17db6843b696018a2b1ce6a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: