QuartzUIResourceLoader: declaration reference
0.57.0-dev · beta source documentation. Native, Blueprint, Editor and rendering examples are source-reviewed, not executed in Unreal during this scan. See validation and limits.
Pinned source (source: Source/QuartzUIRuntime/Public/QuartzUIResourceLoader.h) · integration recipe · practical guide
FQuartzUIResourceLoader
Internal type. Loads non-UAsset web files through Unreal's platform-file/UFS layer.
Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIResourceLoader recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Build under project Content/QuartzUI/Apps; let resource service read it. Request-scoped bounded bytes from UFS.
Avoid: Adding loose disk fallbacks or arbitrary file access. This named helper is runtime-owned; inspect/use it through the owner above rather than constructing it in gameplay.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIResourceLoader.h#L7)
Complete header
Source snapshot, not an additional example. Unreal annotations distinguish exposed Blueprint nodes from native-only/private methods.
#pragma once
#include "CoreMinimal.h"
#include "QuartzUIApp.h"
/** Loads non-UAsset web files through Unreal's platform-file/UFS layer. */
class QUARTZUIRUNTIME_API FQuartzUIResourceLoader
{
public:
/** Maximum body materialized by one ordinary resource request. */
static constexpr int64 MaxFullReadBytes = 64ll * 1024ll * 1024ll;
/** Maximum body materialized by one byte-range request. */
static constexpr int64 MaxRangeReadBytes = 8ll * 1024ll * 1024ll;
/** Resolves and opens a contained resource long enough to report its size. */
static bool GetFileSize(
EQuartzUIAppResourceOwner ResourceOwner,
const FString& RelativePath,
int64& OutFileSize,
FString& OutError);
/** Loads binary-safe bytes below the immutable root selected by ResourceOwner. */
static bool LoadFile(
EQuartzUIAppResourceOwner ResourceOwner,
const FString& RelativePath,
TArray<uint8>& OutBytes,
FString& OutError);
/**
* Loads one bounded byte range through Unreal's active platform file. The
* range must already be known to fit inside the file and is capped so a
* browser request cannot allocate an unbounded response body.
*/
static bool LoadFileRange(
EQuartzUIAppResourceOwner ResourceOwner,
const FString& RelativePath,
int64 Offset,
int64 NumBytes,
TArray<uint8>& OutBytes,
int64& OutFileSize,
FString& OutError);
/** Loads text below the immutable root selected by ResourceOwner. */
static bool LoadPage(
EQuartzUIAppResourceOwner ResourceOwner,
const FString& RelativePath,
FString& OutContents,
FString& OutError);
/** Loads binary-safe bytes from a path relative to Resources/Web. */
static bool LoadPluginFile(const FString& RelativePath, TArray<uint8>& OutBytes, FString& OutError);
/** Loads a path relative to Resources/Web. Absolute and escaping paths are rejected. */
static bool LoadPluginPage(const FString& RelativePath, FString& OutContents, FString& OutError);
/** Loads binary-safe bytes below the project's Content/QuartzUI root. */
static bool LoadProjectFile(const FString& RelativePath, TArray<uint8>& OutBytes, FString& OutError);
/** Loads text below the project's Content/QuartzUI root. */
static bool LoadProjectPage(const FString& RelativePath, FString& OutContents, FString& OutError);
/** Returns the immutable absolute root for the selected ownership class. */
static FString GetRoot(EQuartzUIAppResourceOwner ResourceOwner);
/** Returns the absolute plugin Resources/Web fixture path, or empty if unavailable. */
static FString GetWebRoot();
/** Returns the absolute project Content/QuartzUI production path. */
static FString GetProjectWebRoot();
};