Open the map you care about
Use your current gameplay map if you are integrating TargetFrame into a real project. The sample maps remain available if you want the packaged demo path.
Welcome to TargetFrame! This plugin tests the PC, picks a safe FPS target, applies sensible graphics settings, and keeps menus and HUD sharp while the 3D scene adapts to performance pressure.
If you are new to TargetFrame, this is the shortest path from opening the project to running the project-aware Beginner Wizard, applying the recommended setup, and reading the live readiness feedback.
Use your current gameplay map if you are integrating TargetFrame into a real project. The sample maps remain available if you want the packaged demo path.
When the game is running, click Get Recommended Setup in the top-right launcher. In the editor, open Window > TargetFrame Beginner Setup Wizard for the project-aware helper flow and one-click launch button.
In the editor wizard, click Run Beginner Flow. In the live overlay, click Use recommended setup. TargetFrame checks this PC, chooses a target FPS, and turns on the settings that fit best.
TargetFrame now pauses on a short confirmation step so you can keep the setup, open the settings, or start over before moving on.
Use the launcher or F10 to try intent-first FPS presets, rerun the PC check, and inspect setup notes or recent events.
Toggle the debug overlay with tf.DebugHUD 1 and tf.DebugHUD 0 when you want deeper engineering visibility.
The sample project is intentionally compact. These directories are the ones you will touch most when integrating, tuning, or packaging the plugin.
Scalability.uproject
Config/
Content/
Maps/
TF_TargetFrameShowcase
TF_TargetFrameTestMap
UI/
WBP_TargetFrameExperience
Plugins/
TargetFrame/
Config/
DefaultTargetFrame.ini
Source/
TargetFrame/
Source/
Scalability/
Scripts/
CreateTargetFrameExperienceWidget.py
CreateTargetFrameShowcaseMap.py
CreateTargetFrameTestMap.py
Plugins/TargetFrame contains the subsystem, settings surface, Blueprint library, and the UMG-backed UX host widget.
Source/Scalability wires the widget into the player controller and exposes the debug HUD, showcase flow, and test-map flow.
Content/UI/WBP_TargetFrameExperience is the composed UMG control surface used during play.
The scripts directory can rebuild the showcase map, the test map, or the current widget blueprint if you want to re-author sample content.
TargetFrame can be used as a plugin runtime service, a drop-in menu widget, or both. The sample ships with both patterns already connected.
Open Project Settings > Plugins > TargetFrame. Simple Mode gives you the curated setup controls first: target FPS, quality bias, first-launch benchmark, runtime adaptation, low-VRAM and integrated-GPU protection, crisp UI handling, stability locking, telemetry, and opt-in advanced systems. Switch Settings Mode to Advanced Mode when you need the full policy surface for benchmark behavior, governor thresholds, direct upscaler integration, triangle-aware culling, Nanite policy, VRAM/vendor rules, UI separation, telemetry, diagnostics, and shipping capsule tuning.
The Blueprint library exposes StartTargetFrame, SetTargetFrameTargetFPS, ApplyTargetFramePolicy, GetTargetFrameStatus, GetTargetFrameSetupSummary, and GetTargetFrameProjectCapabilities.
The sample player controller loads the widget blueprint at runtime. You can swap it for your own UMG asset or reuse the C++ host in another project.
Recommended sample validation flow 1. Start the project. 2. Open the gameplay map you want to validate. 3. Click Get Recommended Setup in the launcher, or open Window > TargetFrame Beginner Setup Wizard in the editor. 4. In the editor wizard, click Run Beginner Flow for the project-aware one-click path. 5. In the live overlay, keep the setup, open settings, or start over after the recommendation is applied. 6. Open the menu again: - Launcher button - F10 7. Review Project Settings: - Simple Mode for common setup choices - Advanced Mode for detailed policy tuning 8. Toggle debug overlay: tf.DebugHUD 1 tf.DebugHUD 0 8. Enable optional direct upscaler integration only if your packaged runtime exposes the vendor plugin cvars. 9. Enable optional triangle-aware culling only after tuning triangle thresholds and distance limits for your content. 10. Use Check this PC again from the menu if you want to observe profile selection again.
The beginner flow lives in two places: the in-game setup for players and the editor-side Beginner Wizard for creators. Both surfaces now stay project-aware, lead with plain language, and surface the deeper rendering details only after the basic recommendation is clear.
Summarizes the performance class, graphics card, and memory guide without drowning the player in low-level jargon.
Leads with the target FPS, scene-scaling help, and lower-memory safeguards. Extra rendering detail is treated as supporting context, not the main message.
After Use recommended setup, the wizard pauses on a short confirmation state with Keep this setup, Show settings, and Start over.
The control panel now updates Setup readiness automatically while it is open. The main message stays plain-language, while detailed fix notes move behind Show advanced details.
Open Window > TargetFrame Beginner Setup Wizard to launch the project-aware one-click flow, optionally switch sample maps, reset the first-run step, reopen the in-game setup, and jump straight to TargetFrame project settings.
The onboarding completion flag is stored in GameUserSettings.ini under [TargetFrame.UserExperience].
The settings panel is a compact operational surface. It tells you what TargetFrame is doing right now and offers a few decisive actions rather than a full graphics-options labyrinth.
Preset buttons offer a single intent change: 30, 45, 60, or 90 FPS. TargetFrame updates the target and reapplies the policy.
Useful after changing settings or for manual reassertion during tuning. It reapplies the current TargetFrame setup without forcing a new PC check.
Runs a new PC check and refreshes the setup summary. This is mainly for QA and content tuning.
Setup notes explain the chosen posture. Recent changes show the live adjustment history that led to the current result.
TargetFrame is not a static preset pack. It is a policy engine that starts from a safe baseline, validates the machine, then moves quality within a bounded runtime ladder to protect the requested frame target.
The initial run uses Unreal's benchmark facilities and a hardware snapshot to choose a starting posture that matches the machine instead of assuming desktop-high by default.
Runtime quality shifts use thresholds and cooldown behavior so the game does not oscillate between two states every few seconds.
Buyers do not want to babysit a large list of rendering variables. The plugin groups those variables into understandable policy decisions with setup notes and event logs.
The value is not just changing settings. The value is being able to explain the resulting behavior to designers, QA, and support.
Startup pass:
1. Detect vendor, VRAM budget, benchmark scores, and project capabilities.
2. Select target profile, safety caps, and a preferred supported upscaler.
3. Apply quality, HWRT, Nanite, upscaler, triangle-culling, and UI posture.
4. Monitor live FPS and adjust supported upscaler quality, culling, or render cost within bounded steps.
5. Emit telemetry so every change has an audit trail.
The plugin coordinates several subsystems together. That coordination is the product. Each subsystem alone is just another exposed engine setting.
Sets the initial quality level based on benchmark results and developer defaults, then treats that baseline as the top of a bounded adaptation ladder.
When the project exposes runtime cvars for supported vendor plugins, TargetFrame can choose DLSS or FSR posture directly and fall back safely when those controls are unavailable.
Adjusts render scale when the project supports it, and can stand down when a vendor upscaler is active and configured to own scene scaling.
Uses Nanite edge and raster budget controls to soften geometry cost before resorting to harsher overall quality cuts.
Optional literal culling for heavy static-mesh and instanced-static-mesh components uses triangle counts to apply bounded distance limits and restores original values when the policy is disabled.
Preserves UI legibility by keeping the secondary game viewport percentage separated from the main scene posture during dynamic resolution, TSR, or supported DLSS/FSR workflows.
Builds policy notes and guardrails around the actual hardware budget instead of pretending every GPU class behaves the same.
Clamps hardware ray tracing when the memory budget or posture indicates it is more likely to destabilize frame time than improve shipping quality.
Analyzes live CPU vs GPU frame time. When CPU-bound, the governor steps down CPU-heavy groups like view distance and foliage instead of needlessly blurring the render resolution.
Dynamically restricts VSM physical page allocation during low-VRAM states, eliminating a common source of out-of-memory crashes on mid-range hardware.
TargetFrame needs to be legible to developers. A system that changes rendering posture without evidence becomes a support burden instead of a feature.
The runtime widget surfaces recent decisions in player-facing language, making it obvious whether the system reduced quality, recovered, or held steady.
Each policy change should be mirrored into logs or CSV output so QA can correlate a visual report with an exact machine state.
Explicit live logging for active upscaler mode and quality, triangle-culling scale and managed component count, Nanite budget, texture pool, UI viewport percentage, dynamic resolution state, and HWRT clamp prevents silent drift.
The in-game debug HUD is the fastest sanity check during tuning. It should remain visually clean enough to use during capture and QA runs.
| Signal | Why it matters | Where to inspect it |
|---|---|---|
| Target FPS and live FPS | Confirms whether the adaptation logic is acting on a real deficit or merely reacting to transient noise. | Control panel, debug HUD, logs |
| Nanite edge / raster budget | Shows whether geometry cost is being trimmed before broader quality changes. | Runtime probe and HUD |
| Upscaler mode / quality | Shows whether direct DLSS or FSR integration is active, or whether the plugin stayed on TSR or native fallback. | Runtime probe, setup notes, debug HUD |
| Triangle cull scale / managed count | Confirms whether literal component culling is active and how aggressively heavy geometry is being trimmed. | Runtime probe, setup notes, debug HUD |
| UI viewport percentage | Validates the crisp-UI promise while render scale moves independently. | Runtime probe and setup notes |
| HWRT posture | Explains whether ray-tracing-heavy features are being clamped for safety. | Setup summary, logs |
Good defaults make the demo look competent. Tuning for a real game is where the plugin becomes commercially credible.
Use your heaviest playable scene, not the sample map, to calibrate thresholds. The benchmark is only part of the picture; actual content pressure still matters.
Pick the order that matches your game's identity. Some games can lose edge density early. Others should preserve scene sharpness and trade other quality first.
Test NVIDIA, AMD, Intel, lower-VRAM machines, packaged builds, and multiple upscaler setups. A paid plugin needs evidence, not intuition.
Some issues can be diagnosed in two minutes.
| Symptom | Likely cause | Recommended check |
|---|---|---|
| Onboarding does not appear | The completion flag was already saved on this machine. | Inspect GameUserSettings.ini for the TargetFrame.UserExperience section or clear the stored flag. |
| Widget layout looks wrong at runtime | Viewport scaling, authored asset changes, or an unexpected font mismatch. | Open the UMG asset, validate anchors and wrapping, then confirm runtime font normalization still runs. |
| UI becomes blurry when render scale drops | Secondary viewport percentage is not being held at the intended value for the project. | Check setup notes, runtime probe logs, and any project-level UI rendering overrides. |
| Performance still tanks on a low-VRAM GPU | The content exceeds the assumed pool or a feature remains too expensive for the title. | Verify texture pool caps, review HWRT posture, and tune the scene-specific fallback order. |
| DLSS or FSR never activates | The project runtime does not expose the vendor cvars, the feature is disabled in settings, or the current GPU falls back to TSR/native posture. | Check the capability summary, runtime probe logs, and TargetFrame settings before assuming the integration is broken. |
| Distant heavy meshes disappear too early | Triangle-aware culling thresholds or distance scales are too aggressive for the content. | Raise the triangle threshold, raise the distance floor, or disable the optional triangle-culling policy and compare captures. |
| Frequent quality bouncing | Thresholds or cooldowns are too aggressive for the content's frame-time variance. | Increase hysteresis windows and review event logs over a longer play segment. |
The short answers below are written for buyers evaluating whether TargetFrame is a serious workflow tool or just a convenience wrapper.
No. It complements one. TargetFrame is a runtime decision layer that can sit behind a user-facing settings menu and make those choices safer on real hardware.
No. Those are headline systems, but the real value is coordinating multiple rendering cost centers under one understandable policy.
That is the intended target. Runtime validation should always be repeated in packaged builds before shipping or marketplace promotion.
Yes, when the project exposes the relevant runtime cvars. The integration is capability-scanned and optional, so unsupported projects fall back to TSR or native posture instead of breaking the rest of the policy layer.
Because automatic adaptation without observability is difficult to trust. Telemetry is what turns the system into an engineering tool instead of a black box.
Yes. The included sample experience is meant to accelerate adoption and illustrate best practices, not lock teams into one aesthetic.
No. The current implementation is an opt-in runtime distance-culling layer for heavy static-mesh components. It is literal culling, but it is designed to be reversible and content-tuned rather than a deep engine modification.
The differentiator is policy plus explanation: hardware-aware recommendations, runtime guardrails, optional vendor-upscaler and triangle-culling layers, crisp UI posture, and diagnostics that tell you what the system changed.
Thank you for choosing the TargetFrame UE5.5+ plugin! Some useful links below.