Yureka LogoDocs

Runtime API

Project Settings are sufficient for a fixed global look. Use the runtime API only when gameplay needs to change it.

Blueprint

Use Get World Subsystem and select Hand Drawn Shading Subsystem. It exposes:

  • Set Enabled
  • Is Enabled
  • Set Settings
  • Get Settings
  • Reset to Project Defaults

Read the settings struct, modify it with Set Members in Hand Drawn Shading Settings, and pass the result to Set Settings.

Hand Drawn Shading Component is optional. While active, it applies the component's complete settings struct to the world and restores the captured world settings when deactivated or unregistered. It does not create a per-actor rendering effect.

C++ dependency

PublicDependencyModuleNames.AddRange(new[]
{
    "Core",
    "CoreUObject",
    "Engine",
    "YShadeHandDrawn"
});

C++ example

#include "HandDrawnShadingSubsystem.h"

if (UHandDrawnShadingSubsystem* Shading =
    GetWorld()->GetSubsystem<UHandDrawnShadingSubsystem>())
{
    FHandDrawnShadingSettings Settings = Shading->GetSettings();
    Settings.bEnabled = true;
    Settings.StyleStrength = 0.85f;
    Settings.InkThickness = 2.5f;
    Settings.StrokePattern = EHandDrawnStrokePattern::Crosshatch;
    Shading->SetSettings(Settings);
}

Call the subsystem on the game thread. The render thread receives a locked copy of the effective settings during view-family setup. ResetToProjectDefaults reloads the values configured under Project Settings > Plugins > yShade - Hand-Drawn for the current world.