---
title: "QuartzUIResourceLoader: declaration reference"
description: "Quartz UI 0.57.0-dev: QuartzUIResourceLoader: declaration reference. Source-reviewed guidance, usage and limitations."
status: approved
visibility: public
sourceRevision: fe5b709ec900e282b50e58b819a25041945005f9
reviewedAt: 2026-09-24
---

# 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](https://betterbuilt.games/docs/quartz-ui/evidence).

Pinned source (source: `Source/QuartzUIRuntime/Public/QuartzUIResourceLoader.h`) · [integration recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuiresourceloader) · [practical guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping)

## 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](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuiresourceloader) 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.

```cpp
#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();
};
```

Canonical HTML: https://betterbuilt.games/docs/quartz-ui/reference-quartzuiresourceloader
