OmniNodes is a large Blueprint function library that fills the everyday gaps of Blueprint projects. It lists and reads files, writes text and ini values, formats strings and numbers, solves plane, line, sphere and box problems, loads images and DDS files into textures, plays Ogg files from disk, rebinds input mappings at runtime, finds and manages UMG widgets, spawns and removes streaming level instances, drives ragdolls and socket traces, launches external processes and reports GPU, display and OS information.
Every node lives under the OmniNodes category of the Blueprint context menu, grouped into sub-categories such as File IO, String, Math, Load Texture From File, Key Rebinding, UMG, LevelStreaming, Physics and System. Wildcard nodes sort any array (structs and objects by a named property) and validate indices. Helper classes add a process output pipe, a player controller with subtitle and public IP events, and a key/value lookup component you can add to any actor.
Use it to build options menus (resolutions, full-screen mode, frame-rate cap, key rebinding), modding and data tools that read files from disk, runtime image and audio import, screenshot handling, selection boxes, aim offsets, and the many small utilities a project would otherwise write in C++.
OmniNodes is part of the Alpha XP utilities collection for Unreal Engine 4.27 and 5.8. Every feature is exposed to Blueprints and C++, it ships with styled HTML documentation, and it is compiled and verified warning-free against clean UE 4.27 and UE 5.8 projects.
318Blueprint nodes
2Engine builds
3Platforms
Key features
- 317 Blueprint nodes in 60 categories, every one documented with its type and purpose
- File IO: list files (recursive, extension filter), load and save text and string
- Typed reads and writes of custom values in the game ini (bool, int, float, vector,
- String and conversion helpers: explode by multi-character separators, clipboard,
- Geometry math: planes, closest points between lines and segments, sphere/box/line
- Wildcard array Sort and Valid Index, min/max with index, seeded random numbers
- Load PNG, JPG, BMP, ICO, EXR, ICNS and DDS files into textures, read and save pixels,
- Play .ogg files from disk and create sound waves from them
- Runtime action and axis key rebinding, simulated key presses and mouse wheel
- UMG helpers: find, remove and query widgets by class, parent/children queries, insert
- Actor helpers: ragdoll enter/leave, socket and bone traces, aim offsets, clone static
- System: launch processes and read their output, GPU and display adapter info,
Blueprint & C++ API
The API is organised into these entry points:
| Class | Type | Nodes | Use it for |
|---|
| OmniNodesFunctionLibrary | Function library | 253 | Static nodes β callable from anywhere, no object needed. |
| OmniNodesMathLibrary | Function library | 32 | Static nodes β callable from anywhere, no object needed. |
| OmniNodesTMapComponent | Actor component | 28 | Actor component holding fast key/value lookup tables (TMaps) that Blueprint can add to, query, remove from and clear. |
| OmniNodesProcessPipe | Object | 4 | Pipe object for use with Create Proc, so that you can receive feedback (STDOUT / STDERR) from the processes you launch. |
| OmniNodesPlayerController | Player Controller | 2 | Player controller that exposes the engine subtitle queue and a public IP lookup to Blueprint. |
Callable runs when executed Β· Pure no exec pin, returns a value
Process 4
| Node | Type | Available on | Description |
|---|
| Create Pipe() β Boolean | Callable | Object | |
| Close Pipe | Callable | Object | |
| Read From Pipe() β Boolean, Pipe Contents | Callable | Object | This has exec pins because it is an expensive action and the output is saved/cached on the output pin, whereas a Pure node would repeat the action many times, eβ¦ |
+ 1 more Process nodes β full node reference
AI 3
| Node | Type | Available on | Description |
|---|
| AI Move To With Filter(Pawn: Pawn, Dest: Vector, Filter Class: Navigation Query Filter, Acceptance Radius: Float, Project Destination To Navigation: Boolean, β¦) β Path Following Request Result::Type | Callable | Static | Move to Location with optional Query Filter! 1. Create Custon Nav Area Classes. 2. Use Nav Modifier Volumes to apply custom area class data within the level, then 3. |
| Get Closest Actor Of Class In Radius Of Location(Actor Class: Actor, Center: Vector, Radius: Float) β Actor, Is Valid | Pure | Static | |
| Get Closest Actor Of Class In Radius Of Actor(Actor Class: Actor, Actor Center: Actor, Radius: Float) β Actor, Is Valid | Pure | Static | |
GPU 4
| Node | Type | Available on | Description |
|---|
| Get GPU Brand() β String | Pure | Static | |
| Get RHI Adapter Name() β String | Pure | Static | |
| Get GPU Info() β Device Description, Provider, Driver Version, Driver Date | Pure | Static | |
+ 1 more GPU nodes β full node reference
System 21
| Node | Type | Available on | Description |
|---|
| Create Proc(Full Path Of Program To Run: String, Commandline Args: Array of String, Detach: Boolean, Hidden: Boolean, Priority: Integer, β¦) β Process Id | Callable | Static | Launch a new process. If it is not set to be detached, the engine will not fully close until the other process completes. The new process id is returned. |
| Get Process Application Name(Process Id: Integer) β String | Pure | Static | You can obtain ProcessID from processes you initiate via CreateProc |
| Is Process Running(Process Id: Integer) β Boolean | Pure | Static | You can obtain ProcessID from processes you initiate via CreateProc |
| Get Unix Time Stamp(UTC Time: Date Time) β Integer64 | Pure | Static | Converts a UTC date/time to a Unix timestamp (seconds since 1970-01-01 UTC). |
| Get UTC From Unix Time Stamp(Unix Time Stamp: Integer64) β UTC Time | Pure | Static | Converts a Unix timestamp (seconds since 1970-01-01 UTC) to a UTC date/time. |
| Set Component Tick Rate(Component: Actor Component, Seconds: Float) | Callable | Static | Dynamically change how frequently in seconds a component will tick. Can be altered at any point during game-time. |
+ 15 more System nodes β full node reference
File IO 9
| Node | Type | Available on | Description |
|---|
| UTC To Local(UTC Time: Date Time) β Local Time | Pure | Static | |
| File IO Get Files(Root Folder Full Path: String, Ext: String) β Boolean, Files | Pure | Static | Obtain all files in a provided directory, with optional extension filter. All files are returned if Ext is left blank. Returns false if operation could not occur. |
| File IO Get Files In Root And All Sub Folders(Root Folder Full Path: String, Ext: String) β Boolean, Files | Pure | Static | Obtain all files in a provided root directory, including all subdirectories, with optional extension filter. All files are returned if Ext is left blank. |
+ 6 more File IO nodes β full node reference
MD5 2
| Node | Type | Available on | Description |
|---|
| Create MD 5 Hash(File To Hash: String, File To Store Hash To: String) β Boolean | Callable | Static | Creates an MD5 hash of a file and stores it in another file. |
| Compare MD 5 Hash(MD 5 Hash File 1: String, MD 5 Hash File 2: String) β Boolean | Callable | Static | Compares two MD5 hash files created with Create MD5 Hash. |
Misc 13
| Node | Type | Available on | Description |
|---|
| Create Texture Render Target 2 D(Width: Integer, Height: Integer, Clear Color: Linear Color, Gamma: Float) β Texture Render Target 2 D | Callable | Static | Create a new Texture Render Target 2D, ideal for use with Scene Capture Components created during runtime that need their own unique Render Targets |
| Load Object From Asset Path(Object Class: Object, Path: Name) β Object, Is Valid | Callable | Static | The FName that is expected is the exact same format as when you right click on asset -> Copy Reference! You can directly paste copied references into this node! |
| Get Object Path(Obj: Object) β Name | Pure | Static | Uses the same format as LoadObjectFromAssetPath. Use this node to get the asset path of objects in the world. |
| Loops Reset BP Runaway Counter | Callable | Static | Call this periodically in a huge loop you are intentionally using to reset the BP runaway loop system. |
+ 9 more Misc nodes β full node reference
Physics 11
| Node | Type | Available on | Description |
|---|
| Physics Update Angular Damping(Comp To Update: Primitive Component, New Angular Damping: Float) β Boolean | Callable | Static | Update the Angular Damping during runtime! Make sure the component is simulating physics before calling this! Returns false if the new value could not be set. |
| Get Distance To Collision(Collision Component: Primitive Component, Point: Vector) β Float, Closest Point On Collision | Pure | Static | |
| Get Distance Between Component Surfaces(Collision Component 1: Primitive Component, Collision Component 2: Primitive Component) β Float, Point On Surface 1, Point On Surface 2 | Pure | Static | |
| Physics Enter Rag Doll(The Character: Actor) β Boolean | Callable | Static | Cause a supplied Character (casted from Actor internally) to enter Ragdoll physics. A check will be done to see if the character has a physics asset. |
+ 7 more Physics nodes β full node reference
Instanced Static Mesh 2
| Node | Type | Available on | Description |
|---|
| ISM Get All ISM Actors() β Out | Pure | Static | Retrieve an array of all of the OmniNodes Instanced Static Mesh actors that have been created during runtime. |
| ISM Convert To ISM Actors(Actor Class: Actor, Destroy Original Actors: Boolean, Min Count To Create ISM: Integer) β Created ISM Actors | Callable | Static | Finds all instances of a specified Blueprint or class, and all subclasses of this class, and converts them into a single Instanced Static Mesh Actor. |
Screenshots 1
| Node | Type | Available on | Description |
|---|
| Screen Shots Rename Move Most Recent(New Name: String, New Absolute Folder Path: String, High Resolution: Boolean) β Boolean, Original File Name | Callable | Static | Returns false if the new file could not be created. The folder path must be absolute, such as C:\Users\Self\Documents\YourProject\MyPics. |
Key Rebinding 9
| Node | Type | Available on | Description |
|---|
| Get All Axis And Action Mappings For Key(Key: Key) β Action Bindings, Axis Bindings | Pure | Static | |
| Get Input Axis From Key Event(Key Event: Key Event) β Omni Nodes Input Axis | Pure | Static | |
| Get All Axis Key Bindings() β Bindings | Pure | Static | |
+ 6 more Key Rebinding nodes β full node reference
Sound 5
| Node | Type | Available on | Description |
|---|
| Sound Class Set Volume(Sound Class Object: Sound Class, New Volume: Float) β Boolean | Callable | Static | Change volume of Sound class of your choosing, sets the volume instantly! Returns false if the sound class was not found and volume was not set. |
| Sound Class Get Volume(Sound Class Object: Sound Class) β Float | Pure | Static | Get Current Sound Volume! Returns -1 if sound class was not found |
| Play Sound Attached From File(File Path: String, Attach To Component: Scene Component, Attach Point Name: Name, Location: Vector, Location Type: Attach Location::Type, β¦) β Audio Component | Callable | Static | Plays a .ogg sound from file, attached to and following the specified component. This is a fire and forget sound. Replication is also not handled at this point. |
+ 2 more Sound nodes β full node reference
Actor 14
| Node | Type | Available on | Description |
|---|
| Get Time In Play(Actor: Actor) β Float | Pure | Static | The number of seconds that this actor has been in play, relative to Get Game Time In Seconds. |
| Spawn Actor Into Level(Actor Class: Actor, Level: Name, Location: Vector, Rotation: Rotator, Spawn Even If Colliding: Boolean) β Actor | Callable | Static | Spawn an Actor and choose which level you want them to spawn into! |
| Get Static Mesh Vertex Locations(Comp: Static Mesh Component) β Boolean, Vertex Positions | Pure | Static | Obtain the scaled,rotated, and translated vertex positions for any static mesh! |
| Add To Actor Rotation(The Actor: Actor, Add Rot: Rotator) | Callable | Static | |
+ 10 more Actor nodes β full node reference
Math βΊ Plane 3
| Node | Type | Available on | Description |
|---|
| Create Plane(Center: Vector, Normal: Vector) β Plane | Pure | Static | Creates a plane centered on a world space point with a facing direction of Normal. |
| Point Distance To Plane(Plane: Plane, Point: Vector) β Distance | Pure | Static | >0: point is in front of the plane, <0: behind, =0: on the plane * |
| Is Point On Plane(Plane: Plane, Point: Vector, Tolerance: Float) β Boolean | Pure | Static | Use a larger tolerance to allow inaccuracy of measurement in certain situations |
Math βΊ Integer 8
| Node | Type | Available on | Description |
|---|
| Int Plus Equals(Int: PARAM(ref) int 32, Add: Integer) β Int Out | Callable | Static | Easily add to an integer! |
| Int Minus Equals(Int: PARAM(ref) int 32, Sub: Integer) β Int Out | Callable | Static | Easily subtract from an integer! |
| Negate Int(A: Integer) β Integer | Pure | Static | Reverses the sign (- or +) of an integer. |
+ 5 more Math βΊ Integer nodes β full node reference
Math βΊ Float 4
| Node | Type | Available on | Description |
|---|
| Float Plus Equals(Float: PARAM(ref) float, Add: Float) β Float Out | Callable | Static | Easily add to a float! |
| Float Minus Equals(Float: PARAM(ref) float, Sub: Float) β Float Out | Callable | Static | Easily subtract from a float! |
| Negate Float(A: Float) β Float | Pure | Static | Reverses the sign (- or +) of a float. |
+ 1 more Math βΊ Float nodes β full node reference
Array 6
| Node | Type | Available on | Description |
|---|
| Sort Int Array(Int Array: PARAM(ref) T Array<int 32>) β Int Array Ref | Callable | Static | Sort an integer array, smallest value will be at index 0 after sorting. Modifies the input array, no new data created. |
| Sort Float Array(Float Array: PARAM(ref) T Array<float>) β Float Array Ref | Callable | Static | Sort a float array, smallest value will be at index 0 after sorting. Modifies the input array, no new data created. |
| Max Of Float Array(Float Array: Array of Float) β Index Of Max Value, Max Value | Pure | Static | Max of all array entries. Returns -1 if the supplied array is empty. Returns the index of the max value as well as the value itself. |
+ 3 more Array nodes β full node reference
Math βΊ Vector2D 3
| Node | Type | Available on | Description |
|---|
| Equal (vector2D)(A: Vector 2D, B: Vector 2D, Error Tolerance: Float) β Boolean | Pure | Static | Returns true if vector2D A is equal to vector2D B (A == B) within a specified error tolerance |
| Not Equal (vector2D)(A: Vector 2D, B: Vector 2D, Error Tolerance: Float) β Boolean | Pure | Static | Returns true if vector2D A is not equal to vector2D B (A != B) within a specified error tolerance |
| Negate Vector 2 D(A: Vector 2D) β Vector 2D | Pure | Static | Reverses the sign (- or +) of a Vector2D. |
Interpolation 1
| Node | Type | Available on | Description |
|---|
| UFUNCTION(Blueprint Pure, Category, meta) | Pure | Static | |
Math 4
| Node | Type | Available on | Description |
|---|
| Vector 2 D Interp To(Current: Vector 2D, Target: Vector 2D, Delta Time: Float, Interp Speed: Float) β Vector 2D | Pure | Static | UFUNCTION(BlueprintPure, Category="Math|Interpolation", meta=(Keywords="position")) |
| Vector 2 D Interp To Constant(Current: Vector 2D, Target: Vector 2D, Delta Time: Float, Interp Speed: Float) β Vector 2D | Pure | Static | UFUNCTION(BlueprintPure, Category="Math|Interpolation", meta=(Keywords="position")) |
| Map Range Clamped(Value: Float, In Range A: Float, In Range B: Float, Out Range A: Float, Out Range B: Float) β Float | Pure | Static | Returns Value mapped from one range into another where the value is clamped to the output range. (e.g. 0.5 normalized from the range 0->1 to 0->50 would result in 25) |
+ 1 more Math nodes β full node reference
Conversion 11
| Node | Type | Available on | Description |
|---|
| Text Is Numeric(Text: Text) β Boolean | Pure | Static | |
| Text To Float(Text: Text, Use Dot For Thousands: Boolean) β Float | Pure | Static | |
| Text To Int(Text: Text, Use Dot For Thousands: Boolean) β Integer | Pure | Static | |
| String to Vector(String: String) β Converted Vector, Is Valid | Pure | Static | Convert String Back To Vector. IsValid indicates whether or not the string could be successfully converted. |
+ 7 more Conversion nodes β full node reference
Custom Config Vars 16
| Node | Type | Available on | Description |
|---|
| Get Custom Config Var Bool(Section Name: String, Variable Name: String) β Boolean, Is Valid | Pure | Static | Get Custom Config Var! These are stored in Saved/Config/Windows/Game.ini |
| Get Custom Config Var Int(Section Name: String, Variable Name: String) β Integer, Is Valid | Pure | Static | Get Custom Config Var! These are stored in Saved/Config/Windows/Game.ini |
| Get Custom Config Var Float(Section Name: String, Variable Name: String) β Float, Is Valid | Pure | Static | Get Custom Config Var! These are stored in Saved/Config/Windows/Game.ini |
| Get Custom Config Var Vector(Section Name: String, Variable Name: String) β Vector, Is Valid | Pure | Static | Get Custom Config Var! These are stored in Saved/Config/Windows/Game.ini |
| Get Custom Config Var Rotator(Section Name: String, Variable Name: String) β Rotator, Is Valid | Pure | Static | Get Custom Config Var! These are stored in Saved/Config/Windows/Game.ini |
+ 11 more Custom Config Vars nodes β full node reference
Transform 2
| Node | Type | Available on | Description |
|---|
| Transform Vector To Actor Space Angle(Actor: Actor, In Vector: Vector) β Rotator | Pure | Static | |
| Transform Vector To Actor Space(Actor: Actor, In Vector: Vector) β Vector | Pure | Static | |
UMG 10
| Node | Type | Available on | Description |
|---|
| Get Head Mounted Display Device Type() β Name | Pure | Static | |
| Get All Widgets Of Class(Widget Class: User Widget, Top Level Only: Boolean) β Found Widgets | Callable | Static | Find all widgets of a certain class! Top level only means only widgets that are directly added to the viewport will be found |
| Remove All Widgets Of Class(Widget Class: User Widget) | Callable | Static | Remove all widgets of a certain class from viewport! |
+ 7 more UMG nodes β full node reference
Networking 3
| Node | Type | Available on | Description |
|---|
| Get Player Unique Net ID() β Integer | Pure | Static | Retrieves the unique net ID for the local player as a number! |
| Player State Get Player ID(The PC: Player Controller) β Boolean, Player ID | Callable | Static | Get the Unique PlayerID from the PlayerState for a supplied Player Controller. Returns false if operation could not occur. |
| Is Stand Alone() β Boolean | Pure | Static | Returns whether this game instance is single player. |
Graphics Settings 4
| Node | Type | Available on | Description |
|---|
| Graphics Settings Set Frame Rate Cap(New Value: Float) | Callable | Static | Set the Max Frame Rate. Min value is 10. |
| Graphics Settings Set Frame Rate To Be Unbound | Callable | Static | Only hardware dependent, no smoothing |
| Graphics Settings Full Screen Get() β TEnumAsByte<EOmniNodesFullScreenMode::Type> | Pure | Static | Get Full Screen Type |
+ 1 more Graphics Settings nodes β full node reference
Controller 1
| Node | Type | Available on | Description |
|---|
| Player Controller Get Controller ID(The PC: Player Controller) β Boolean, Controller ID | Callable | Static | Get the Controller ID for a supplied Player Controller. Returns false if operation could not occur. |
Character 3
| Node | Type | Available on | Description |
|---|
| Character Movement Set Max Move Speed(The Character: Character, New Max Move Speed: Float) β Boolean | Callable | Static | Set Max Move Speed. Supply the Character whose Character Movement to change! |
| Accessor Get Player Controller(The Character: Actor) β Player Controller, Is Valid | Pure | Static | Get Player Character's Player Controller. Requires: The Passed in Actor must be a character and it must be a player controlled character. |
| Accessor Get Character Skeletal Mesh(The Character: Actor) β Skeletal Mesh Component, Is Valid | Callable | Static | Retrieves the "Mesh" component of a Character. IsValid lets you know if the data is valid, make sure to check if it is! Requires: the passed in Actor must be a Character |
String 11
| Node | Type | Available on | Description |
|---|
| Count Occurrances Of Sub String(Source: String, Sub String: String, Search Case: Search Case::Type) β Integer | Pure | Static | |
| Append Inline(String: PARAM(ref) F String, To Append: String, Append Newline: Boolean) β Result | Callable | Static | |
| Is Alpha Numeric(String: String) β Boolean | Pure | Static | |
| Get String From OS Clipboard() β From Clipboard | Pure | Static | |
+ 7 more String nodes β full node reference
Material 1
| Node | Type | Available on | Description |
|---|
| Does Material Have Parameter(Mat: Material Interface, Parameter: Name) β Boolean | Pure | Static | This node checks all Scalar, Vector, and Texture parameters of a material to see if the supplied parameter name is an actual parameter in the material! |
OmniNodes 1
| Node | Type | Available on | Description |
|---|
| Accessor Get Socket Local Transform(Mesh: Skeletal Mesh Component, Socket Name: Name) β // bool, Local Transform | Callable | Static | |
Input 4
| Node | Type | Available on | Description |
|---|
| Simulate Mouse Wheel(Delta: Float) | Callable | Static | |
| Simulate Key Press(The PC: Player Controller, Key: Key, Event Type: Input Event) | Callable | Static | |
| Viewport Set Mouse Position(The PC: Player Controller, Pos X: Float, Pos Y: Float) β Boolean | Callable | Static | SET the Mouse Position! Returns false if the operation could not occur |
+ 1 more Input nodes β full node reference
Game Window 6
| Node | Type | Available on | Description |
|---|
| Viewport Get Mouse Position(The PC: Player Controller) β Boolean, Pos X, Pos Y | Pure | Static | Get the Cursor Position within the Player's Viewport. This will return a result consistent with SET Mouse Position Returns false if the operation could not occur |
| Viewport Get Center Of Viewport(The PC: Player Controller) β Boolean, Pos X, Pos Y | Pure | Static | Get the coordinates of the center of the player's screen / viewport. Returns false if the operation could not occur |
| Client Window Game Window Is Fore Ground In OS() β Boolean | Pure | Static | Is the Current Game Window the Foreground window in the OS, or in the Editor? This will be accurate in standalone running of the game as well as in the editor PIE |
+ 3 more Game Window nodes β full node reference
3d Lines 3
| Node | Type | Available on | Description |
|---|
| Draw Thick 3 D Line From Character Socket(The Character: Actor, End Point: Vector, Socket: Name, Line Color: Linear Color, Thickness: Float, β¦) | Callable | Static | Draw 3D Line of Chosen Thickness From Socket on Character's Mesh to Destination, conversion of AActor to ACharacter done internally for your convenience. |
| Draw Thick 3 D Line From Socket(Mesh: Skeletal Mesh Component, End Point: Vector, Socket: Name, Line Color: Linear Color, Thickness: Float, β¦) | Callable | Static | Draw 3D Line of Chosen Thickness From Mesh Socket to Destination. Duration is in Seconds |
| Draw Thick 3 D Line Between Actors(Start Actor: Actor, End Actor: Actor, Line Color: Linear Color, Thickness: Float, Duration: Float) | Callable | Static | Draw 3D Line of Chosen Thickness Between Two Actors. Duration is in Seconds |
Aim Offset 2
| Node | Type | Available on | Description |
|---|
| Animation Get Aim Offsets(Anim BP Owner: Actor) β Boolean, Pitch, Yaw | Callable | Static | AnimBPOwner; Must be a Character, Conversion Internally For Convenience.\n\nRetrieves the Aim Offsets Pitch & Yaw Based On the Rotation of the Controller of Theβ¦ |
| Animation Get Aim Offsets From Rotation(Anim BP Owner: Actor, The Rotation: Rotator) β Boolean, Pitch, Yaw | Callable | Static | AnimBPOwner; Must be a Character, Conversion Internally For Convenience.\n\nRetrieves the Aim Offsets Pitch & Yaw for the AnimBPOwner Based On the supplied Rotaβ¦ |
Components βΊ SkinnedMesh 1
| Node | Type | Available on | Description |
|---|
| Get All Bone Names Below Bone(Skeletal Mesh Comp: Skeletal Mesh Component, Starting Bone Name: Name) β Integer, Bone Names | Callable | Static | Get All Bone Names Below Bone, requires a physics asset. |
Traces 4
| Node | Type | Available on | Description |
|---|
| Trace Data Get Trace Data From Character Socket(The Character: Actor, Trace Rotation: Rotator, Trace Length: Float, Socket: Name, Draw Trace Data: Boolean, β¦) β Boolean, Trace Start, Trace End | Callable | Static | Does Not Do A Trace, But Obtains the Start and End for doing a Trace:\n\nTakes in an actor (for convenience) and tries to cast it to Character. |
| Trace Data Get Trace Data From Skeletal Mesh Socket(Mesh: Skeletal Mesh Component, Trace Rotation: Rotator, Trace Length: Float, Socket: Name, Draw Trace Data: Boolean, β¦) β Boolean, Trace Start, Trace End | Callable | Static | Does Not Do A Trace, But Obtains the Start and End for doing a Trace:\n\nTakes in a Skeletal Mesh Component and a socket name to trace from. |
| Traces Character Mesh Trace Closest Bone(Trace Owner: Actor, Trace Start: Vector, Trace End: Vector) β Actor, Out Impact Point, Out Impact Normal, Closest Bone Name | Callable | Static | Does a simple line trace given Trace Start and End, and if a Character is hit by the trace, then a component trace is performed on that character's mesh. |
+ 1 more Traces nodes β full node reference
Paths 7
| Node | Type | Available on | Description |
|---|
| Paths Win 64 Dir Binary Location() β String | Pure | Static | InstallDir/GameName/Binaries/Win64 |
| Paths Windows No Editor Dir() β String | Pure | Static | |
| Paths Game Root Directory() β String | Pure | Static | |
+ 4 more Paths nodes β full node reference
Load Texture From File 9
| Node | Type | Available on | Description |
|---|
| Load Texture 2 D From DDS File(Full File Path: String) β Texture 2 D | Callable | Static | Load a Texture 2D from a DDS file (DXT1/DXT3/DXT5/BC4/BC5 or uncompressed 32-bit BGRA, 2D textures only). |
| Load Texture 2 D From File(Full File Path: String, Image Format: Omni Nodes Image Formats) β Texture 2 D, Is Valid, Width, Height | Pure | Static | Load a Texture2D from a JPG,PNG,BMP,ICO,EXR,ICNS file! IsValid tells you if file path was valid or not. |
| Load Texture 2 D From File Pixels(Full File Path: String, Image Format: Omni Nodes Image Formats) β Texture 2 D, Is Valid, Width, Height | Pure | Static | Load a Texture2D from a JPG,PNG,BMP,ICO,EXR,ICNS file! IsValid tells you if file path was valid or not. |
+ 6 more Load Texture From File nodes β full node reference
Random 14
| Node | Type | Available on | Description |
|---|
| construct Rand | Callable | Static | Construct a random device, returns either a random device or the default random engine; system dependant; |
| seed Rand(seed: Integer) | Callable | Static | Seed Rand with value passed |
| seed Rand With Time | Callable | Static | Seed Rand with current time |
| seed Rand With Entropy | Callable | Static | Seed Rand with entropy |
+ 10 more Random nodes β full node reference
Actor βΊ Get Immediate Attached Actors 1
| Node | Type | Available on | Description |
|---|
| Actor Get Attached Actors(Parent Actor: Actor) β Actors Array | Pure | Static | Get the actors that are directly attached to the parent actor. |
Post Process 1
| Node | Type | Available on | Description |
|---|
| Set Bloom Intensity(Post Process Volume: Post Process Volume, Intensity: Float) | Callable | Static | Modify the bloom intensity of a post process volume. |
Utilities βΊ Array 2
| Node | Type | Available on | Description |
|---|
| Valid Index(Target Array: Array of Integer, Index: Integer) β Boolean | Pure | Static | See if index is a valid index for this array |
| Sort(Target Array: Array of Integer, Ascending Order: Boolean, Variable Name: Name) | Callable | Static | Sort the elements of an array by FString, FName, FText, float, int or boolean. Supports struct and object based arrays. |
SceneCapture 4
| Node | Type | Available on | Description |
|---|
| Capture Component 2 D Project(Target: Scene Capture Component 2 D, Location: Vector) β Boolean, Out Pixel Location | Pure | Static | Projects a world location to pixel coordinates in the render target of a scene capture component. |
| Capture 2 D Project(Target: Scene Capture 2 D, Location: Vector) β Boolean, Out Pixel Location | Pure | Static | Projects a world location to pixel coordinates in the render target of a scene capture actor. |
| Capture Component 2 D Save Image(Target: Scene Capture Component 2 D, Image Path: String, Clear Colour: Linear Color) β Boolean | Callable | Static | Currently the only supported format for this function is B8G8R8A8. Make sure to include the appropriate image extension in your file path! Recommended: .bmp, .jpg, .png. |
+ 1 more SceneCapture nodes β full node reference
Team 2
| Node | Type | Available on | Description |
|---|
| Get Generic Team Id(Target: Actor) β Byte | Pure | Static | |
| Set Generic Team Id(Target: Actor, New Team Id: Byte) | Callable | Static | |
LevelStreaming 5
| Node | Type | Available on | Description |
|---|
| Get Level Instance Info(Level Instance: Level Streaming Dynamic) β Omni Nodes Level Stream Instance Info | Callable | Static | |
| Add To Streaming Levels(Level Instance Info: Omni Nodes Level Stream Instance Info) | Callable | Static | |
| Remove From Streaming Levels(Level Instance Info: Omni Nodes Level Stream Instance Info) | Callable | Static | |
+ 2 more LevelStreaming nodes β full node reference
Components 3
| Node | Type | Available on | Description |
|---|
| PrestreamTextures (Component)(Target: Mesh Component, Seconds: Float, Enable Streaming: Boolean, Cinematic Texture Groups: Integer) | Callable | Static | Tells the streaming system to start loading all textures with all mip-levels. |
| Get Component Relative Location(Parent Component: Scene Component, Child Component: Scene Component) β Vector | Pure | Static | |
| Get Component Relative Rotation(Parent Component: Scene Component, Child Component: Scene Component) β Rotator | Pure | Static | |
Game βΊ Viewport 5
| Node | Type | Available on | Description |
|---|
| Get Viewport Position(Screen Position: Vector 2D) β Boolean, Out Viewport Position | Callable | Static | Converts the screen position (primary screen's top left corner) supplied by pointer events or similar to the local space of viewport related to WorldContextObject. |
| Get Viewport Position Hit Result By Channel(Viewport Position: Vector 2D, Trace Channel: Collision Channel, Trace Complex: Boolean) β Boolean, Out Hit Result | Callable | Static | Does a line collision trace based the viewport position and returns the first blocking hit encountered. |
| Viewport Position Deproject(Viewport Position: Vector 2D) β Boolean, Out World Origin, Out World Direction | Callable | Static | Transforms the viewport position into a world space origin and direction. |
+ 2 more Game βΊ Viewport nodes β full node reference
Widget βΊ Panel 1
| Node | Type | Available on | Description |
|---|
| Insert Child At(Parent: Widget, Index: Integer, Content: Widget) β Panel Slot | Callable | Static | Inserts child widget into panel widget at given location. NOTE: The child widgets "Construct" event will be fired again! |
Vector 1
| Node | Type | Available on | Description |
|---|
| Get Vector Relative Location(Parent Location: Vector, Parent Rotation: Rotator, Child Location: Vector) β Vector | Pure | Static | |
Rotator 1
| Node | Type | Available on | Description |
|---|
| Get Rotator Relative Rotation(Parent Rotation: Rotator, Child Rotation: Rotator) β Rotator | Pure | Static | |
Utilities βΊ String 1
| Node | Type | Available on | Description |
|---|
| IsEmpty(Target: String) β Boolean | Pure | Static | |
Console 2
| Node | Type | Available on | Description |
|---|
| Get Console Variable Float(Variable Name: String) β Float | Pure | Static | |
| Get Console Variable Int(Variable Name: String) β Integer | Pure | Static | |
Math βΊ Vector 11
| Node | Type | Available on | Description |
|---|
| Set Vector Length(A: Vector, size: Float) β Vector | Pure | Static | Changes the size (length) of a Vector to the given size (normalized vector * size). |
| Vector Radians To Degrees(Rad Vector: Vector) β Vector | Pure | Static | Converts radians to degrees. |
| Vector Degrees To Radians(Deg Vector: Vector) β Vector | Pure | Static | Converts degrees to radians. |
| Closest Point On Sphere To Line(Sphere Origin: Vector, Sphere Radius: Float, Line Origin: Vector, Line Dir: Vector) β Vector | Pure | Static | Find closest point on a Sphere to a Line. When line intersects Sphere, then closest point to LineOrigin is returned. |
+ 7 more Math βΊ Vector nodes β full node reference
Math βΊ Vector βΊ Intersection 7
| Node | Type | Available on | Description |
|---|
| Is Point Inside Box(Point: Vector, Box Origin: Vector, Box Extent: Vector) β Boolean | Pure | Static | Returns true if the given Point vector is within a box (defined by BoxOrigin and BoxExtent). |
| Is Line Inside Sphere(Line Start: Vector, Line Dir: Vector, Line Length: Float, Sphere Origin: Vector, Sphere Radius: Float) β Boolean | Pure | Static | Determines whether a line intersects a sphere. |
| Line Extent Box Intersection(in Box: Box, Start: Vector, End: Vector, Extent: Vector) β Boolean, Hit Location, Hit Normal, Hit Time | Pure | Static | Swept-Box vs Box test. Sweps a box defined by Extend from Start to End points and returns whether it hit a box or not plus the hit location and hit normal if successful. |
+ 4 more Math βΊ Vector βΊ Intersection nodes β full node reference
Math βΊ Anchor 1
| Node | Type | Available on | Description |
|---|
| Convert Anchor To Anchor(Current Anchor: Anchors, Offsets: Margin, Target Anchor: Anchors) β Converted Offsets | Pure | Static | Converts UMG layout offsets to another anchor. |
Subtitles 1
| Node | Type | Available on | Description |
|---|
| Play Speech Sound(Sound: Sound Base, Volume Multiplier: Float, Pitch Multiplier: Float, Start Time: Float) β Audio Component | Callable | Player Controller | Plays a 2D sound. When its subtitles are queued, On Subtitles Queued is called with them. |
Player Controller 1
| Node | Type | Available on | Description |
|---|
| Get My IP Send Request() β Boolean | Callable | Player Controller | Requests this machine's public IP address from the public ipify service. Returns false if the HTTP module is unavailable or the request could not be started. |
TMap Component βΊ Add 7
| Node | Type | Available on | Description |
|---|
| String Actor Add Pair(Key: String, Value: Actor) | Callable | Component | Adds a key/value pair. If the key already exists, its current value is replaced with the new value. |
| String String Add Pair(Key: String, Value: String) | Callable | Component | Adds a key/value pair. If the key already exists, its current value is replaced with the new value. |
| String Int Add Pair(Key: String, Value: Integer) | Callable | Component | Adds a key/value pair. If the key already exists, its current value is replaced with the new value. |
+ 4 more TMap Component βΊ Add nodes β full node reference
TMap Component βΊ Get 7
| Node | Type | Available on | Description |
|---|
| String Actor Get(Key: String) β Actor, Is Valid | Pure | Component | Gets the value associated with the key. IsValid is false if the key is not present. |
| String String Get(Key: String) β String, Is Valid | Pure | Component | Gets the value associated with the key. IsValid is false if the key is not present. |
| String Int Get(Key: String) β Integer, Is Valid | Pure | Component | Gets the value associated with the key. IsValid is false if the key is not present. |
+ 4 more TMap Component βΊ Get nodes β full node reference
TMap Component βΊ Remove 7
| Node | Type | Available on | Description |
|---|
| String Actor Remove(Key: String) | Callable | Component | Removes the key and any associated value from the TMap. |
| String String Remove(Key: String) | Callable | Component | Removes the key and any associated value from the TMap. |
| String Int Remove(Key: String) | Callable | Component | Removes the key and any associated value from the TMap. |
+ 4 more TMap Component βΊ Remove nodes β full node reference
TMap Component βΊ Clear 7
| Node | Type | Available on | Description |
|---|
| String Actor Clear | Callable | Component | Removes every entry from the TMap. |
| String String Clear | Callable | Component | Removes every entry from the TMap. |
| String Int Clear | Callable | Component | Removes every entry from the TMap. |
+ 4 more TMap Component βΊ Clear nodes β full node reference
Options & enums
| Enum | Values |
|---|
| Image Formats | JPG PNG BMP ICO EXR ICNS |
Compatibility
UE 4.27OmniNodes 4.27.zipUE 5.8OmniNodes 5.8.zip
One ready-made build per engine version is included in the download β copy the one that matches your project.
| Platform | Supported in |
|---|
| Windows | Editor & packaged |
| macOS | Editor & packaged |
| Linux | Editor & packaged |
| Module | Type | Loading phase |
|---|
| OmniNodes | Runtime | PreDefault |
Technical details
| Code modules | OmniNodes (Runtime) |
|---|
| Blueprints | 0 Β· C++ classes: 6 |
|---|
| Network replicated | No |
|---|
| Development platforms | Windows: Yes, Mac: Not verified |
|---|
| Target build platforms | Win64, Mac, Linux (Win64 verified) |
|---|
| Third-party software | No |
|---|
| Engine versions | Unreal Engine 4.27 Β· 5.8 β a build for each is included |
|---|
| C++ classes | 6 + 4 structs |
|---|
| Blueprint nodes | 318 |
|---|
| Documentation | Documentation.html (in the download) |
|---|
| Download | OmniNodes.zip Β· 302 KB |
|---|
| Version | v1.0.0 |
|---|
What's in the download
| File | What it is |
|---|
| OmniNodes 4.27.zip | Plugin build for Unreal Engine 4.27 |
| OmniNodes 5.8.zip | Plugin build for Unreal Engine 5.8 |
| Documentation.html | Documentation (open in a browser) |
Quick start
- Unzip the download and pick the build that matches your engine (4.27 Β· 5.8).
- Copy the OmniNodes folder into your project's Plugins/ folder (create it if needed).
- Open the project, enable OmniNodes under Edit βΊ Plugins and restart the editor.
- Right-click in any Blueprint graph and search Process β or include the public headers from C++.
- Package for your target platform (Windows, macOS, Linux).
Good to know
Built and verified warning-free for Unreal Engine 4.27 and 5.8. The key rebinding nodes edit the legacy action/axis mappings of the Input Settings (not Enhanced Input), and Flash Game on Task Bar only has an effect on Windows; Mac and Linux are enabled by the plugin and supported by the code but not verified by Alpha XP. Developed and maintained by Alpha XP.