| name | engine-settings |
| display_name | Engine Settings System |
| description | Configure Unreal Engine core settings — rendering, physics, audio, garbage collection, console variables (cvars), and scalability levels (EngineSettingsService). Use when the user asks to change engine/rendering settings, set a console variable (r.*, etc.), adjust scalability/quality levels, or read engine config categories. |
| vibeue_classes | ["EngineSettingsService"] |
| unreal_classes | ["RendererSettings","PhysicsSettings","AudioSettings"] |
Engine Settings Skill
🔀 Registered settings moved to the engine. Category-based registered-setting access
(list_categories / list_settings / get_setting / set_setting) is now Unreal 5.8's native
ConfigSettingsToolset — reach it with call_tool (run describe_toolset on
ConfigSettingsToolset for its actions/params). VibeUE's EngineSettingsService was trimmed to
the delta the engine doesn't cover: console variables (cvars), scalability levels, raw engine
INI read/write, and config save. Use those from execute_python_code as shown below.
Critical Rules
⚠️ CVars (VibeUE) vs Registered Settings (engine toolset)
- CVars (console variables) →
unreal.EngineSettingsService.get_console_variable /
set_console_variable (kept in VibeUE).
- Registered settings (category + key, e.g. RendererSettings) → engine
ConfigSettingsToolset via call_tool. EngineSettingsService.get_setting /
set_setting / list_categories / list_settings were removed in the 5.8 consolidation.
value = unreal.EngineSettingsService.get_console_variable("r.ReflectionMethod")
unreal.EngineSettingsService.set_console_variable("r.ReflectionMethod", "1")
value = unreal.EngineSettingsService.get_engine_ini_value(
"/Script/Engine.RendererSettings", "bEnableRayTracing", "Engine.ini")
⚠️ Check Read-Only Before Setting CVars
info = unreal.ConsoleVariableInfo()
if unreal.EngineSettingsService.get_console_variable_info("r.MaxQualityMode", info):
if not info.is_read_only:
unreal.EngineSettingsService.set_console_variable(info.name, "1")
⚠️ Some Settings Require Restart
set_console_variable / set_engine_ini_value return an FEngineSettingResult whose
requires_restart flag tells you whether the change takes effect immediately. (Registered-setting
results come from the engine ConfigSettingsToolset instead.)
Browsing registered settings
Listing categories and the settings inside them is now an engine ConfigSettingsToolset job —
call it via call_tool and run describe_toolset for the available actions. These engine
categories cover rendering, physics, audio, GC, networking, collision, AI, input, and the rest.
For everything VibeUE still owns, see the cvar / INI / scalability workflows below.
Workflows
Enable Ray Tracing
import unreal
import json
rt_settings = {
"r.RayTracing": "1",
"r.RayTracing.Shadows": "1",
"r.RayTracing.Reflections": "1",
"r.ReflectionMethod": "1"
}
result = unreal.EngineSettingsService.set_console_variables_from_json(json.dumps(rt_settings))
unreal.EngineSettingsService.save_all_engine_config()
Optimize for Performance
import unreal
import json
unreal.EngineSettingsService.set_overall_scalability_level(0)
perf_settings = {
"r.RayTracing": "0",
"r.VolumetricFog": "0",
"r.MotionBlurQuality": "0",
"r.Shadow.MaxResolution": "512"
}
unreal.EngineSettingsService.set_console_variables_from_json(json.dumps(perf_settings))
Search CVars
import unreal
shadows = unreal.EngineSettingsService.search_console_variables("shadow", 100)
for cvar in shadows:
print(f"{cvar.name}: {cvar.value} ({cvar.type})")
Set Engine INI Values
import unreal
result = unreal.EngineSettingsService.set_engine_ini_value(
"/Script/EngineSettings.GameMapsSettings",
"GameDefaultMap",
"/Game/Maps/Lvl_Main.Lvl_Main",
"DefaultEngine.ini"
)
Data Structures
Python Naming Convention: C++ types like FEngineSettingResult are exposed as EngineSettingResult in Python (no F prefix).
EngineSettingResult (returned by set_* and INI write methods)
success, error_message
modified_settings, failed_settings
requires_restart
ConsoleVariableInfo
name, value, default_value, description
type, flags, is_read_only
VibeUE EngineSettingsService covers:
- Rendering optimization: Adjust r.* cvars, ray tracing, shadows
- Performance profiling: GC cvars (gc.*), streaming, scalability
- Quality presets: Apply overall or per-group scalability levels
- Raw engine INI: read/write sections directly when you know the key
For browsing/editing registered settings by category (physics, audio, collision, AI, input
classes, etc.), use the engine ConfigSettingsToolset via call_tool.
Sample scripts (run via execute_python_code)
scripts/set_cvars.txt — read scalability and set a console variable.