Large useful blueprint function library (Morepork Games)

Continued from first post:

[table=“width: 100%, class: grid, align: left”][th]Utilities[/th][th][/th][th][/th]
GetFurthestOrClosestLocation

https://moreporkgames.squarespace.com/s/GetFurthestOrClosestLocation.png

Returns the furthest or closest location from a given array of locations. Will return the furthest unless “UseClosest” is true.
GetDistance

https://moreporkgames.squarespace.com/s/GetDistance.png

Gets the distance between two world locations. Check “Squared” for cheaper version that returns the distance squared (skips doing the square root).
GetFurthestOrClosestActor

https://moreporkgames.squarespace.com/s/GetFurthestOrClosestActor.png

Returns the furthest or closest actor from a given array of locations or actors. Will return the furthest unless “UseClosest” is true.
NormalizedScreenToWorldLocation_(Typical)

https://moreporkgames.squarespace.com/s/NormalizedScreenToWorldLocation_Typical.png

Converts normalized (0 to 1) screen coordinates to a 3D world location, tracing against static world geometry. WARNING, requires a small delay at level start, because the viewport size doesn’t get initialized straight away.
WorldToNormalizedScreenLocation

https://moreporkgames.squarespace.com/s/WorldToNormalizedScreenLocation.png

Converts a world location to a normalized (0-1) screen location.
IsObjectOnScreen

https://moreporkgames.squarespace.com/s/IsObjectOnScreen.png

Returns whether the actor or component is currently on screen (uses actor if one is passed in, otherwise uses component). By default it only returns true if the objects bounds are completely on screen, uncheck “Completely” to change this.
GetFurthestOrClosestLocationToScreenCenter

https://moreporkgames.squarespace.com/s/GetFurthestOrClosestLocationToScreenCenter.png

From a set of locations, gets the one that is furthest (or closest, if ticked) to the centre of the screen.
FindClosestLocationBetween

https://moreporkgames.squarespace.com/s/FindClosestLocationBetween.png

Get the closest point between the given points A and B, to the given location. Outputs the closest location found and a 0-1 value that represents where between the two points it was found (0 is closer to A, 1 is closer to B). Higher Accuracy values produce better results but can be a lot more expensive.
GetAllActorsOfSeveralClasses

https://moreporkgames.squarespace.com/s/GetAllActorsOfSeveralClasses.png

Like “Get All Actors Of Class” except will take multiple classes.
GetAllActorsWithTag

https://moreporkgames.squarespace.com/s/GetAllActorsWithTag.png

Gets all actors with the specified Actor Tag (not component tag). Can be optionally filtered to make it cheaper.
GetAllActorsWithCollisionType

https://moreporkgames.squarespace.com/s/GetAllActorsWithCollisionType.png

Gets all actors with the specified Collision Type. Can be optionally filtered to make it cheaper.
Alpha Over Time

https://moreporkgames.squarespace.com/s/Alpha-Over-Time.png

Interpolates from 0 to 1, over the time given. Useful for interpolating a value, especially where timelines aren’t possible. Requires Tick to be hooked up to the tick function in the class you are using it.
Alpha Pulse Over Time

https://moreporkgames.squarespace.com/s/Alpha-Pulse-Over-Time.png

Interpolates from 0 to 1 and back to 0 again, over the time given. Useful for pulsing a value, especially where timelines aren’t possible. Requires Tick to be hooked up to the tick function in the class you are using it.
Fade

https://moreporkgames.squarespace.com/s/Fade.png

Fades the screen to or from a color over the time specified, with several options.
Loop Counter

https://moreporkgames.squarespace.com/s/Loop-Counter.png

Useful for counting iterations in a loop. Trigger to increment the count.
Alpha Over Time Auto Tick

https://moreporkgames.squarespace.com/s/Alpha-Over-Time-Auto-Tick.png

Interpolates from 0 to 1, over the time given. Useful for interpolating a value, especially where timelines aren’t possible.
Alpha Pulse Over Time Auto Tick

https://moreporkgames.squarespace.com/s/Alpha-Pulse-Over-Time-Auto-Tick.png

Interpolates from 0 to 1 and back to 0 again, over the time given. Useful for pulsing a value, especially where timelines aren’t possible.
Fade With Notification

https://moreporkgames.squarespace.com/s/Fade-With-Notification.png

Same as “Fade” in MoreporkMacros, except gives notification when the fade is started / stopped / paused / finished.
SelectParticleSystem

https://moreporkgames.squarespace.com/s/SelectParticleSystem.png

If Pick A is True, A is returned, otherwise B is
SelectSound

https://moreporkgames.squarespace.com/s/SelectSound.png

If Pick A is True, A is returned, otherwise B is

[table=“width: 100%, class: grid, align: left”][th]Utilities > Array[/th][th][/th][th][/th]
SortFloatArray

https://moreporkgames.squarespace.com/s/SortFloatArray.png

Sorts an array by value
SortIntArray

https://moreporkgames.squarespace.com/s/SortIntArray.png

Sorts an array by value
Array Length Compare

https://moreporkgames.squarespace.com/s/Array-Length-Compare.png

Compares the length of two arrays.
Get Latest Item

https://moreporkgames.squarespace.com/s/Get-Latest-Item.png

Gets the last entry in an array.
Item Is Latest

https://moreporkgames.squarespace.com/s/Item-Is-Latest.png

Returns whether the array item is the latest in the array. If Index is -1, it will use the supplied item, else it will return whether the index is the latest.
Array Replace

https://moreporkgames.squarespace.com/s/Array-Replace.png

Similar to “Set Array Elem” (actually I can’t remember what the difference is, but it made sense at the time).
Array Length Int Compare

https://moreporkgames.squarespace.com/s/Array-Length-Int-Compare.png

Compares the length of an array with the specified value.
Conditional Get

https://moreporkgames.squarespace.com/s/Conditional-Get.png

Gets an array value at the given index, but only attempts to if the index is within the bounds of the array (else returns 0 and fires the Failed output).
Array Item Exists

https://moreporkgames.squarespace.com/s/Array-Item-Exists.png

Fires the “True” output if the item exists in the array.
Set Array Element

https://moreporkgames.squarespace.com/s/Set-Array-Element.png

Same as “Set Array Elem” except it will not trigger an array out of bounds warning (warning shouldn’t fire because array is expanded to fit)
Get Random Element

https://moreporkgames.squarespace.com/s/Get-Random-Element.png

Gets a random element from the array. If “Unique” is checked, then it will not pick the same element twice (unless the “Reset” input is triggered).
Get Random Elements (Multiple)

https://moreporkgames.squarespace.com/s/Get-Random-Elements-Multiple.png

Gets the specified number of elements randomly from the array (will not pick the same element twice in the same execution).
Remove Items (Multiple)

https://moreporkgames.squarespace.com/s/Remove-Items-Multiple.png

Removes multiple items from an array at once.
Add (Multiple)

https://moreporkgames.squarespace.com/s/Add-Multiple.png

Adds multiple items to an array at once.
Add Unique (Multiple)

https://moreporkgames.squarespace.com/s/Add-Unique-Multiple.png

Adds multiple items to an array at once - only adds an item if it is unique.
Set Array Length

https://moreporkgames.squarespace.com/s/Set-Array-Length.png

Expands or shrinks an array to the specified length

[table=“width: 100%, class: grid, align: left”][th]Utilities > Bool[/th][th][/th][th][/th]
Bool Compare

https://moreporkgames.squarespace.com/s/Bool-Compare.png

Compares two bools.
Select Bool

https://moreporkgames.squarespace.com/s/Select-Bool.png

Selects A or B depending on the value of “Select A” (same as Select Float, Select Int, etc).

[table=“width: 100%, class: grid, align: left”][th]Utilities > Class[/th][th][/th][th][/th]
ClassCompare

https://moreporkgames.squarespace.com/s/Class-Compare.png

Compares two classes.

[table=“width: 100%, class: grid, align: left”][th]Utilities > Flow Control[/th][th][/th][th][/th]
ForEachLoopReverse

https://moreporkgames.squarespace.com/s/ForEachLoopReverse.png

Same as ForEach except in reverse. Essential if you are going through an array and deleting things (with a normal ForEach loop, deleting array entries duing the loop would cause entries to be missed).
Do N & Notify

https://moreporkgames.squarespace.com/s/Do-N-and-Notify.png.png

Same as “Do N” except it will fire the “N Hit” pin if it hits N
Platform Switch

https://moreporkgames.squarespace.com/s/Platform-Switch.png

Fires output pin depending on what platform the game is currently running on.
Branch By

https://moreporkgames.squarespace.com/s/Branch-By-.png

Branches based on the specified e.g. if A is 1 and B is 10, the result is 10x more likely to be B.

[table=“width: 100%, class: grid, align: left”][th]Utilities > Name[/th][th][/th][th][/th]
AppendToName

https://moreporkgames.squarespace.com/s/AppendToName.png

Adds a suffix and/or prefix to a Name.
SelectName

https://moreporkgames.squarespace.com/s/SelectName.png

If Pick A is True, A is returned, otherwise B is

[table=“width: 100%, class: grid, align: left”][th]Utilities > Object[/th][th][/th][th][/th]
Object Compare

https://moreporkgames.squarespace.com/s/Object-Compare.png

Compares two objects

[table=“width: 100%, class: grid, align: left”][th]Utilities > String[/th][th][/th][th][/th]
IntToStringWithSign

https://moreporkgames.squarespace.com/s/IntToStringWithSign.png

Converts an integer to string, with + prepended if the int is positive.
AppendAndSetString

https://moreporkgames.squarespace.com/s/AppendAndSetString.png

Adds a prefix and/or suffix to a string AND SETS the String variable.
IntToStringMinDigits

https://moreporkgames.squarespace.com/s/IntToStringMinDigits.png

Converts an integer to a string with a minimum number of digits (e.g. 1 with min digits 3 would give a string “001”.
ArrayToString_(Integer)

https://moreporkgames.squarespace.com/s/ArrayToString_Integer.png

Converts an array of values to a string so you can easily print the array to the log.
ArrayToString_(Float)

https://moreporkgames.squarespace.com/s/ArrayToString_Float.png

Converts an array of values to a string so you can easily print the array to the log.
String Compare

https://moreporkgames.squarespace.com/s/String-Compare.png

Compares two strings, outputs == if it matches exactly (including case), outputs ~= if it matched with different case, or != if it didn’t match at all.
String Compare

https://moreporkgames.squarespace.com/s/ArrayToString_String.png

Converts an array of values to a string so you can easily print the array to the log.

[table=“width: 100%, class: grid, align: left”][th]Utilities > Text[/th][th][/th][th][/th]
SelectText

https://moreporkgames.squarespace.com/s/SelectText.png

If Pick A is True, A is returned, otherwise B is

[table=“width: 100%, class: grid, align: left”][th]Utilities > Transformation[/th][th][/th][th][/th]
GetWorldTransformWithoutScale

https://moreporkgames.squarespace.com/s/GetWorldTransformWithoutScale.png

Gets a scene component world transform without the scale (i.e. leaves scale at 1.0, 1.0, 1.0)
GetActorVelocity_(Local)

https://moreporkgames.squarespace.com/s/GetActorVelocity_Local.png

Gets the velocity of an actor, transformed to local space, optionally normalized.
GetComponentVelocity_(Local)

https://moreporkgames.squarespace.com/s/GetComponentVelocity_Local.png

Gets the velocity of a component, transformed to local space, optionally normalized.
Compare Actor Distance

https://moreporkgames.squarespace.com/s/Compare-Actor-Distance.png

Compares the distance between two actors, against the given distance.

[table=“width: 100%, class: grid, align: left”][th]Utilities > Variables[/th][th][/th][th][/th]
LocalVariable_(Vector)

https://moreporkgames.squarespace.com/s/LocalVariable_Vector.png

Just allows storing of a “local” variable in the event graph or in a macro, so you can compute something once and use it several times without fear of it changing.
LocalVariable_(Rotator)

https://moreporkgames.squarespace.com/s/LocalVariable_Rotator.png

Just allows storing of a “local” variable in the event graph or in a macro, so you can compute something once and use it several times without fear of it changing.
LocalVariable_(Integer)

https://moreporkgames.squarespace.com/s/LocalVariable_Integer.png

Just allows storing of a “local” variable in the event graph or in a macro, so you can compute something once and use it several times without fear of it changing.
LocalVariable_(Actor)

https://moreporkgames.squarespace.com/s/LocalVariable_Actor.png

Just allows storing of a “local” variable in the event graph or in a macro, so you can compute something once and use it several times without fear of it changing.
LocalVariable_(Component)

https://moreporkgames.squarespace.com/s/LocalVariable_Component.png

Just allows storing of a “local” variable in the event graph or in a macro, so you can compute something once and use it several times without fear of it changing.
LocalVariable_(Float)

https://moreporkgames.squarespace.com/s/LocalVariable_Float.png

Just allows storing of a “local” variable in the event graph or in a macro, so you can compute something once and use it several times without fear of it changing.
LocalVariable_(Bool)

https://moreporkgames.squarespace.com/s/LocalVariable_Bool.png

Just allows storing of a “local” variable in the event graph or in a macro, so you can compute something once and use it several times without fear of it changing.
LocalVariable_(Vector2D)

https://moreporkgames.squarespace.com/s/LocalVariable_Vector2D.png

Just allows storing of a “local” variable in the event graph or in a macro, so you can compute something once and use it several times without fear of it changing.

[table=“width: 100%, class: grid, align: left”][th]Viewport[/th][th][/th][th][/th]
GetAspectRatio

https://moreporkgames.squarespace.com/s/GetAspectRatio.png

Gets the current screen aspect ratio (requires small delay after BeginPlay because viewport size has a delay before it is initialized)
GetScreenScale

https://moreporkgames.squarespace.com/s/GetScreenScale.png

Gets the scale of the current screen, relative to a base resolution. Useful for UI scaling (requires small delay after BeginPlay because viewport size has a delay before it is initialized)