> For the complete documentation index, see [llms.txt](https://frytinhass-organization.gitbook.io/fries-library/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://frytinhass-organization.gitbook.io/fries-library/overview/blueprint-nodes.md).

# Blueprint Nodes

## Fries-Library | Development

I created some functions that work like "Print String", they print a message on your screen, but using Unreal's base variables.\
\
![](/files/5nJqY6dm8FunWnpUSNAD)\
\
They are identical to "Print String", but using other variables, there is also an additional option called "Print Function Owner", which is activated by default.\
![](/files/GVQK4nKH1ASlhcIYG47G)

When activated, this option prints the name of the Actor/Object that is using that print, and its instance in the game.

<figure><img src="/files/dCVapVJZPcUiLHGsDejx" alt=""><figcaption></figcaption></figure>

<div align="left"><figure><img src="/files/wc1ZMXdsnUhdMUjr3JFe" alt=""><figcaption></figcaption></figure></div>

## Fries-Library | Input | Key

<div align="left"><figure><img src="/files/Xa4a3T5BSXarHt2WwxsT" alt=""><figcaption></figcaption></figure></div>

This simple function returns a presentable name for some keys, such as Mouse Buttons, Ctrl, Shift, and others.<br>

<figure><img src="/files/hSNAYU0T44LbyOrON311" alt=""><figcaption><p>Simple example 1</p></figcaption></figure>

<figure><img src="/files/CjoRMs82I5aTrY7Nnr2u" alt=""><figcaption><p>Simple Example 2</p></figcaption></figure>

<div align="left"><figure><img src="/files/IE0Uy9KkaijPAVbvEDUK" alt=""><figcaption><p>Result</p></figcaption></figure></div>

You can also add other keys that return the same name, and add an image for that key. See [Custom Improvements](/fries-library/c++/custom-improvements.md#fries-library-or-input-or-key) to much info.

## Fries-Library | Internationalization

<div align="left"><figure><img src="/files/gNAyfYnPU0feX61fstIT" alt=""><figcaption></figcaption></figure></div>

Get current language and set new language to your project (based on enum)

<div align="left"><figure><img src="/files/OUP9fISMfcJOYkBgIM8S" alt=""><figcaption></figcaption></figure></div>

You can add others languages (only in C++), see [Custom Improvements](/fries-library/c++/custom-improvements.md#fries-library-or-internationalization)to much info.

## Fries-Library | Settings

The best category of this plugin, in the Settings category you can change the Ambient Occlusion, Anti Aliasing, Illumination, manage Ray Tracing, change RHI, and set Scalability\
![](/files/pK9tdUcoVEP1MCCauNcl)

Use "Save Game User Settings" node to apply all configs, resolution, and others.\
![](/files/RbpeGEleDzJGfB4BVZik)

## Fries-Library | Settings | Ambient Occlusion

<div align="left"><figure><img src="/files/ukHwfdYiaxEh7WOkwGta" alt=""><figcaption></figcaption></figure></div>

With these two functions, you can get the current ambient occlusion and set another ambient occlusion.

<div align="left"><figure><img src="/files/SgDMKP2hh0Cj3Xe4vMJu" alt=""><figcaption></figcaption></figure></div>

You can change to SSAO or GTAO, and if you want save this config, only check "Save in Config" check box.

## Fries-Library | Settings | Anti Aliasing

<div align="left"><figure><img src="/files/dLrbvod8Hcs7xNRnJEdC" alt=""><figcaption></figcaption></figure></div>

With these two functions, you can get the current anti aliasing method and set another anti aliasing method.

<div align="left"><figure><img src="/files/VbD6ZEkoiOg55AxlJ3ms" alt=""><figcaption></figcaption></figure></div>

You can change to None, FXAA, TAA, MSAA or TSR, and if you want save this config, only check "Save in Config" check box.

## Fries-Library | Settings | Illumination

<div align="left"><figure><img src="/files/aG7sosdo6ytQVXgqEJk6" alt=""><figcaption></figcaption></figure></div>

With these two functions, you can get the current global illumination method and set another global illumination method.

<div align="left"><figure><img src="/files/Puqd5Q9XUq8WrpRVUFKl" alt=""><figcaption></figcaption></figure></div>

You can change to None, Lumen, SSGI, RTGI, or Plugin, and if you want save this config, only check "Save in Config" check box.

## Fries-Library | Settings | Info

<div align="left"><figure><img src="/files/bwGSVfE42gzgAVWJIzu4" alt=""><figcaption></figcaption></figure></div>

With these two functions, you can get the CPU name and GPU name.

<figure><img src="/files/WXAcbQYuyLH2o7qxht3f" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Sjzxjf8ZmCkhvZ5GVa7B" alt=""><figcaption></figcaption></figure>

<div align="left"><figure><img src="/files/0USu8bQ0Kk1jJeCCAO6k" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="/files/zpKJwior89m1rOx357PX" alt=""><figcaption><p>Returning "Unknown" if can't <br>detect chipset.</p></figcaption></figure></div>

This function get's motherboard chipset and return a String.

{% hint style="info" %}
I honestly don't know what this would be useful for, but I added it anyway.
{% endhint %}

<div align="left"><figure><img src="/files/FXO9zbZs2icuE2rtAXVg" alt=""><figcaption></figcaption></figure></div>

Literally what it says, this function gets the operating system version and returns a string.

<div align="left"><figure><img src="/files/S2aMGlDR2SKJzQtfAIU2" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="/files/SdglcfUQyPG7rKTcdcyT" alt=""><figcaption><p>No demonstration as they reveal <br>personal information.</p></figcaption></figure></div>

About these two functions, "Get Mac Address" gets your mac address and returns an array with bytes. And "Get Epic ID" returns the Epic ID of the account logged in at the time it is called.

## Fries-Library | Settings | Ray Tracing

<div align="left"><figure><img src="/files/2Y67QckGDsspyjvDtwvt" alt=""><figcaption></figcaption></figure></div>

With these two functions, you can get the current anti aliasing method and set another anti aliasing method.

<div align="left"><figure><img src="/files/lrupEMHbaB4qiuOL8aF8" alt=""><figcaption></figcaption></figure></div>

You can check if ray tracing is supported on your current hardware, check if ray tracing is enabled, and can be turned on/off.

## Fries-Library | Settings | RHI

<div align="left"><figure><img src="/files/nzK6m7RMuEvtxS4RKmJ8" alt=""><figcaption></figcaption></figure></div>

With these two functions, you can get the current RHI and set another RHI. (You need restart the editor to apply, and the player needs restart the game to apply)

<div align="left"><figure><img src="/files/hKuS9W27rKMXpsafJtgH" alt=""><figcaption></figcaption></figure></div>

You can change to DirectX11, DirectX12 and Vulkan.

## Fries-Library | Settings | Scalability

<div align="left"><figure><img src="/files/zaNWU1drIjEHx7hnmaL3" alt=""><figcaption></figcaption></figure></div>

With these three functions, you can obtain the scalability level, modify the scalability, and apply scalability using Data Assets;\ <br>

<figure><img src="/files/zg6e14X3dvjePisN0wcr" alt=""><figcaption></figcaption></figure>

With all scalability types!\
![](/files/jkEJZtXDx1jvqbprGEBp)

You can modify any scalability type with this node.\
![](/files/Cd1HjdrDl8IjNjIH9orw)\
To change all scalability types to a level use "New Scalability Level" or "Overall Data"

![](/files/bcCy3KRkpzi157BX6Lnq)\
Overall Data is a type of data asset with all types of scalability. You can change all variables and use the "Set Overall Scalability" node to apply all levels.

<figure><img src="/files/FNITz3ftjoA7hrGVrH6f" alt=""><figcaption></figcaption></figure>

This plugin comes with standard scalability classes.<br>

<div align="left"><figure><img src="/files/6z4oAPpTkkckxC5f54Cq" alt=""><figcaption><p>See "Plugins/FriesLibrary Content/FriesLibrary/Data"</p></figcaption></figure></div>

## Fries-Library | Utilities

The Utilities category has a sub-category (Random, explained below) and three new functions.&#x20;

<div align="left"><figure><img src="/files/rlmPVIGptT5RtwCYpcIt" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="/files/93F3SIODNClb4avPIF6n" alt=""><figcaption></figcaption></figure></div>

This function takes all the materials from any primitive component (Mesh is just the input name) and returns the dynamic version of each one itself in an array.

<div align="left"><figure><img src="/files/utHH392IPPwfDBpIxJ0H" alt=""><figcaption></figcaption></figure></div>

This function gets the instigator controller from the Actor and returns it as a player controller (if it exists)

<div align="left"><figure><img src="/files/FbSfPu9QzIexh8e6dqkY" alt=""><figcaption></figcaption></figure></div>

This function draws a line from the camera center forward, you can set the distance of this trace, debug the trace, change the collision channel and add actors to ignore (Camera Component input is not required, if it is null, the function gets camera from the player's pawn)

## Fries-Library | Utilities | Random

There are 9 functions in the Random category, this category doesn't require much explanation, it does what is written in the function name. It even allows you to change some parameters.

<div align="left"><figure><img src="/files/gVpeq4yYOE4SPkEB64IE" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="/files/i6qEto9bq1hWLhdyPp11" alt="" width="563"><figcaption></figcaption></figure></div>

##
