Skip to content

Blueprint Functions Guide

BavGames edited this page Feb 13, 2026 · 5 revisions

Blueprint Functions Guide - Editor Utility Widgets Only

πŸ“– Introduction

These functions are available in Editor Utility Widgets and Editor Utility Blueprints only.

CRITICAL: These functions ONLY work in the Editor. They will NOT work in:

  • ❌ Regular Blueprints (Actor, Character, GameMode, etc.)
  • ❌ Packaged builds
  • ❌ Runtime gameplay

Use Case: Editor automation and batch processing in Editor Utility Widgets.


πŸš€ MAIN FUNCTION

image

Optimize Components (Simple)

What it does: Optimizes multiple mesh components in one call. The simplest and most useful function.

Parameters:

  • Components - Array of Static Mesh Components to optimize
  • Preset - Performance, Quality, or Cinematic

Returns:

  • Number of successfully optimized components

How to use:

Editor Utility Widget:
β”œβ”€ Get All Actors of Class (Static Mesh Actor)
β”œβ”€ For Each Actor
β”‚  β”œβ”€ Get Components by Class (Static Mesh Component)
β”‚  └─ Add to Array
└─ Optimize Components (Simple)
   β”œβ”€ Components: Array
   └─ Preset: Quality

What it does:

  • Optimizes mesh assets (Nanite, LOD)
  • Optimizes component settings (culling, lightmap)
  • One function, full optimization

πŸ“¦ MESH ASSET FUNCTIONS

image

Optimize Static Mesh Asset

What it does: Optimizes a mesh asset (Nanite, LOD, collision).

Parameters:

  • Mesh - Static Mesh asset
  • Preset Data - Optimization settings

How to use:

Get Static Mesh β†’ Optimize Static Mesh Asset

image

Is Nanite Compatible

What it does: Checks if a mesh is compatible with Nanite.

Parameters:

  • Mesh - Static Mesh asset

Returns:

  • Is Compatible - True/False
  • Failure Reason - Why it's not compatible

How to use:

Get Static Mesh β†’ Is Nanite Compatible β†’ Branch
β”œβ”€ True: Nanite compatible
└─ False: Print Failure Reason

image

Configure Nanite Settings

What it does: Enables and configures Nanite for a mesh.

Parameters:

  • Mesh - Static Mesh asset
  • Settings - Nanite settings

image

Generate LOD Chain

What it does: Automatically generates LOD0-LOD3 for a mesh.

Parameters:

  • Mesh - Static Mesh asset
  • Settings - LOD settings

image

Configure Distance Field

What it does: Configures Distance Field generation (for DFAO).

Parameters:

  • Mesh - Static Mesh asset
  • Generate Distance Field - True/False
  • Resolution Scale - Quality (0.5-2.0)

image

Optimize CPU Access

What it does: Disables CPU access to save 50% memory.

Parameters:

  • Mesh - Static Mesh asset
  • Disable CPU Access - True/False

🎨 COMPONENT FUNCTIONS

image

Optimize Component Settings

What it does: Optimizes component settings (culling, lightmap, shadows).

Parameters:

  • Component - Static Mesh Component
  • Preset Data - Optimization settings
  • Enable Culling Distance - True/False

image

Set Culling Distance

What it does: Sets the distance where the component becomes invisible.

Parameters:

  • Component - Static Mesh Component
  • Settings - Culling settings

image

Optimize Lightmap Resolution

What it does: Automatically adjusts the component's lightmap resolution.

Parameters:

  • Component - Static Mesh Component

image

Set WPO Disable Distance

What it does: Sets the distance where World Position Offset is disabled (10x performance boost).

Parameters:

  • Component - Static Mesh Component
  • Disable Distance - Distance (units)

Note: Requires UE 5.1+


image

Get Component Bounds Size

What it does: Returns the component's size.

Parameters:

  • Component - Static Mesh Component

Returns:

  • Size (float, in centimeters)

image

Optimize Contact Shadows

What it does: Optimizes contact shadow settings.

Parameters:

  • Component - Static Mesh Component
  • Disable for Small Objects - True/False

image

Optimize Bounds Scale

What it does: Optimizes component bounds.

Parameters:

  • Component - Static Mesh Component
  • Bounds Scale - Scale value

image

Optimize LOD Bias

What it does: Optimizes LOD transitions.

Parameters:

  • Component - Static Mesh Component
  • Forced LOD Level - -1 (auto) or 0-3
  • Distance Threshold - Distance

🌍 WORLD FUNCTIONS

image

Apply Automatic Instancing

What it does: Automatically converts identical meshes to ISM/HISM (10x performance boost).

Parameters:

  • World - Current world

Returns:

  • Number of instances created

How to use:

Get World β†’ Apply Automatic Instancing

image

Configure Virtual Shadow Maps

What it does: Enables and configures Virtual Shadow Maps.

Parameters:

  • World - Current world
  • Enable - True/False
  • Clipmap Resolution - 2048/4096/8192

image

Configure Lumen Settings

What it does: Optimizes Lumen settings.

Parameters:

  • World - Current world
  • Scene View Distance - Distance
  • Scene Detail - Detail (0.5-2.0)
  • Final Gather Quality - Quality (0.5-2.0)

image

Optimize Material Quality

What it does: Adjusts texture streaming pool size.

Parameters:

  • World - Current world
  • Texture Pool Size MB - Size in MB

πŸ’‘ USAGE EXAMPLES

Example 1: Optimize Entire Level

Editor Utility Widget:

Event Construct
β”œβ”€ Get All Actors of Class (Static Mesh Actor)
β”œβ”€ Create Array (Components)
β”œβ”€ For Each Actor
β”‚  β”œβ”€ Get Components by Class (Static Mesh Component)
β”‚  └─ Append to Array (Components)
└─ Optimize Components (Simple)
   β”œβ”€ Components: Array
   β”œβ”€ Preset: Quality
   └─ Print String: "Optimized {return value} components"

Example 2: Optimize Selected Actors

Editor Utility Widget:

Event Construct
β”œβ”€ Get Selected Actors
β”œβ”€ Create Array (Components)
β”œβ”€ For Each Actor
β”‚  β”œβ”€ Get Components by Class (Static Mesh Component)
β”‚  └─ Append to Array (Components)
└─ Optimize Components (Simple)
   β”œβ”€ Components: Array
   └─ Preset: Performance

Example 3: Optimize Only Large Meshes

Editor Utility Widget:

Event Construct
β”œβ”€ Get All Actors of Class (Static Mesh Actor)
β”œβ”€ Create Array (Components)
β”œβ”€ For Each Actor
β”‚  β”œβ”€ Get Components by Class (Static Mesh Component)
β”‚  β”œβ”€ For Each Component
β”‚  β”‚  β”œβ”€ Get Component Bounds Size
β”‚  β”‚  └─ Branch (Size > 500)
β”‚  β”‚     └─ True: Add to Array
└─ Optimize Components (Simple)
   └─ Components: Array

⚠️ IMPORTANT NOTES

Editor Utility Widgets Only

These functions ONLY work in:

  • βœ… Editor Utility Widget
  • βœ… Editor Utility Blueprint
  • βœ… Editor scripting

These functions will NOT work in:

  • ❌ Regular Actor Blueprints
  • ❌ Character Blueprints
  • ❌ GameMode Blueprints
  • ❌ Any runtime Blueprint
  • ❌ Packaged builds

Why? The plugin is editor-only and uses editor-only APIs (Nanite, LOD generation, etc.) that don't exist in packaged builds.

How to Create Editor Utility Widget

  1. Right-click in Content Browser
  2. Editor Utilities β†’ Editor Utility Widget
  3. Open the widget
  4. Add Blueprint nodes
  5. Run: Tools β†’ Run Editor Utility Widget

Performance

  • Optimize Components (Simple) is the fastest and easiest
  • Other functions provide more detailed control
  • Batch optimization (all components at once) is faster

Best Practices

  1. Batch Optimize: Collect all components in an array, optimize once
  2. Quality Preset: Quality preset is sufficient for most cases
  3. Backup: Save your level before optimization (Ctrl+S)
  4. Test: Check FPS after optimization (stat fps)

πŸ“Š Preset Comparison

Preset FPS Quality Use Case
Performance ⭐⭐⭐⭐⭐ ⭐⭐⭐ Low-end PC, maximum FPS
Quality ⭐⭐⭐⭐ ⭐⭐⭐⭐ Most projects (recommended)
Cinematic ⭐⭐⭐ ⭐⭐⭐⭐⭐ Screenshots, trailers

πŸ†˜ Troubleshooting

Q: Functions don't appear in Blueprint A: Check if plugin is enabled (Edit β†’ Plugins β†’ OneClickOptimizer)

Q: Functions don't work in regular Blueprints A: Correct. Use Editor Utility Widgets only.

Q: Doesn't work in packaged build A: Correct. These are editor-only functions. Optimization results remain active in packaged builds.

Q: Which function should I use? A: Optimize Components (Simple) - simplest and most useful

Q: How do I create an Editor Utility Widget? A: Right-click in Content Browser β†’ Editor Utilities β†’ Editor Utility Widget


🎯 Main Use Case

Primary: Use toolbar buttons (Performance/Quality/Cinematic) for one-click optimization

Secondary: Use Editor Utility Widgets for:

  • Batch processing
  • Custom automation
  • Selective optimization
  • Advanced workflows

Not for: Runtime gameplay or packaged builds


Version: 2.4.8 Date: February 13, 2026 Status: βœ… COMPLETE