NoiseGraph
Node-based, SIMD-accelerated noise in Blueprints and C++: build noise trees and generate 2D, 3D and 4D grids, tileable maps or samples. Win64 and Linux.
Highlights
All 10 features βNoiseGraph brings a node-based procedural noise library to Unreal Engine. Every node is a generator object: make a Simplex, Perlin, OpenSimplex2 or cellular generator, feed it into fractals and domain warps, mix it with blend nodes and shape it with modifiers, all from Blueprint factory nodes or C++.
Generate whole uniform grids in 2D, 3D or 4D in one call, seamlessly tileable 2D maps, values at arbitrary position arrays or single samples. Every grid call returns the min/max range of the generated values, ready for normalising heightmaps or textures. The native library picks the best SIMD instruction set of the CPU at runtime.
Use it for terrain heightmaps, procedural textures, voxel density fields, biome and resource maps, or any system that needs large amounts of noise quickly. Complete node trees can also be loaded from encoded node-tree strings.
NoiseGraph supports Win64 and Linux (x64) only; the noise library ships as prebuilt binaries for those two platforms and Mac is not supported.
NoiseGraph 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.
Key features
- Value, Perlin, Simplex, OpenSimplex2, OpenSimplex2S and cellular value/distance/lookup
- FBm, Ridged and PingPong fractals with gain, weighted strength, lacunarity and octaves
- Gradient domain warp plus progressive and independent fractal domain warps
- 28 blend nodes: add, subtract, multiply, divide, min, max, smooth min/max, exponent, fade
- Modifiers: domain scale/offset/rotate/axis scale, seed offset, remap, terrace, RGBA8,
- Uniform grid generation in 2D, 3D and 4D, tileable 2D maps, position arrays and single
- Min/max range returned by every bulk generation call
- Encoded node-tree strings load a complete tree with one node
- 62 Blueprint factory nodes plus per-generator setter nodes
- Win64 and Linux (x64) support
Blueprint & C++ API
The API is organised into these entry points:
| Class | Type | Nodes | Use it for |
|---|---|---|---|
| NoiseGraphBlueprintLibrary | Function library | 62 | Static nodes β callable from anywhere, no object needed. |
| NoiseGraphGeneratorBase | Object | 10 | Create with Construct Object or from C++. |
| NoiseGraphFractalGeneratorBase | Noise Graph Generator Base | 3 | |
| NoiseGraphFractalDomainWarpGeneratorBase | Noise Graph Generator Base | 3 | |
| NoiseGraphDomainWarpGeneratorBase | Noise Graph Generator Base | 2 | |
| NoiseGraphDistanceToPointGenerator | Noise Graph Generator Base | 1 | |
| NoiseGraphCellularGeneratorBase | Noise Graph Generator Base | 1 | |
| NoiseGraphCellularLookupGenerator | Noise Graph Cellular Generator Base | 1 | |
| NoiseGraphFractalPingPongGenerator | Noise Graph Fractal Generator Base | 1 |
Callable runs when executed Β· Pure no exec pin, returns a value
Basic Generators 7
| Node | Type | Available on |
|---|---|---|
| Make Encoded Node Tree Generator(Encoded Node Tree: String) β Noise Graph Encoded Node Tree Generator | Callable | Static |
| Make Constant Generator(Constant Value: Float) β Noise Graph Constant Generator | Callable | Static |
| Make White Generator() β Noise Graph White Generator | Callable | Static |
| Make Checkerboard Generator(Size: Float) β Noise Graph Checkerboard Generator | Callable | Static |
| Make Sine Wave Generator(Scale: Float) β Noise Graph Sine Wave Generator | Callable | Static |
| Make Position Output Generator(Multiplier: Vector 4, Offsets: Vector 4) β Noise Graph Position Output Generator | Callable | Static |
| Make Distance To Point Generator(Source: Noise Graph Generator Base, Distance Function: Noise Graph Distance Function, Scale: Vector 4) β Noise Graph Distance To Point Generator | Callable | Static |
Coherent Noise 8
| Node | Type | Available on |
|---|---|---|
| Make Value Generator() β Noise Graph Value Generator | Callable | Static |
| Make Perlin Generator() β Noise Graph Perlin Generator | Callable | Static |
| Make Simplex Generator() β Noise Graph Simplex Generator | Callable | Static |
| Make Open Simplex 2 Generator() β Noise Graph Open Simplex 2 Generator | Callable | Static |
| Make Open Simplex 2 S Generator() β Noise Graph Open Simplex 2 S Generator | Callable | Static |
| Make Cellular Value Generator(Jitter Modifier Source: Noise Graph Generator Base, Jitter Modifier Value: Float, Distance Function: Noise Graph Distance Function, Value Index: Integer) β Noise Graph Cellular Value Generator | Callable | Static |
| Make Cellular Distance Generator(Jitter Modifier Source: Noise Graph Generator Base, Jitter Modifier Value: Float, Distance Function: Noise Graph Distance Function, Distance Index 0: Integer, Distance Index 1: Integer, β¦) β Noise Graph Cellular Distance Generator | Callable | Static |
| Make Cellular Lookup Generator(Jitter Modifier Source: Noise Graph Generator Base, Jitter Modifier Value: Float, Distance Function: Noise Graph Distance Function, Lookup Source: Noise Graph Generator Base, Lookup Frequency: Float) β Noise Graph Cellular Lookup Generator | Callable | Static |
Fractal 3
| Node | Type | Available on |
|---|---|---|
| Make Fractal F Bm Generator(Source: Noise Graph Generator Base, Gain Source: Noise Graph Generator Base, Gain: Float, Weighted Strength Source: Noise Graph Generator Base, Weighted Strength: Float, β¦) β Noise Graph Fractal F Bm Generator | Callable | Static |
| Make Fractal Ridged Generator(Source: Noise Graph Generator Base, Gain Source: Noise Graph Generator Base, Gain: Float, Weighted Strength Source: Noise Graph Generator Base, Weighted Strength: Float, β¦) β Noise Graph Fractal Ridged Generator | Callable | Static |
| Make Fractal Ping Pong Generator(Source: Noise Graph Generator Base, Ping Pong Strength Source: Noise Graph Generator Base, Ping Pong Strength: Float, Gain Source: Noise Graph Generator Base, Gain: Float, β¦) β Noise Graph Fractal Ping Pong Generator | Callable | Static |
Domain Warp 1
| Node | Type | Available on |
|---|---|---|
| Make Domain Warp Gradient Generator(Source: Noise Graph Generator Base, Warp Amplitude Source: Noise Graph Generator Base, Warp Amplitude: Float, Warp Frequency: Float) β Noise Graph Domain Warp Gradient Generator | Callable | Static |
Fractal βΊ Domain Warp 2
| Node | Type | Available on |
|---|---|---|
| Make Domain Warp Fractal Progressive Generator(Domain Warp Source: Noise Graph Domain Warp Generator Base, Gain Source: Noise Graph Generator Base, Gain: Float, Weighted Strength Source: Noise Graph Generator Base, Weighted Strength: Float, β¦) β Noise Graph Domain Warp Fractal Progressive Generator | Callable | Static |
| Make Domain Warp Fractal Independant Generator(Domain Warp Source: Noise Graph Domain Warp Generator Base, Gain Source: Noise Graph Generator Base, Gain: Float, Weighted Strength Source: Noise Graph Generator Base, Weighted Strength: Float, β¦) β Noise Graph Domain Warp Fractal Independant Generator | Callable | Static |
Blends 28
| Node | Type | Available on |
|---|---|---|
| Add Value(LHS Source: Noise Graph Generator Base, RHS: Float) β Noise Graph Add Generator | Callable | Static |
| Add Sources(LHS Source: Noise Graph Generator Base, RHS Source: Noise Graph Generator Base) β Noise Graph Add Generator | Callable | Static |
| Subtract Value(LHS Source: Noise Graph Generator Base, RHS: Float) β Noise Graph Subtract Generator | Callable | Static |
| Subtract Source(LHS: Float, RHS Source: Noise Graph Generator Base) β Noise Graph Subtract Generator | Callable | Static |
| Subtract Sources(LHS Source: Noise Graph Generator Base, RHS Source: Noise Graph Generator Base) β Noise Graph Subtract Generator | Callable | Static |
| Multiply Value(LHS Source: Noise Graph Generator Base, RHS: Float) β Noise Graph Multiply Generator | Callable | Static |
| Multiply Sources(LHS Source: Noise Graph Generator Base, RHS Source: Noise Graph Generator Base) β Noise Graph Multiply Generator | Callable | Static |
| Divide Value(LHS Source: Noise Graph Generator Base, RHS: Float) β Noise Graph Divide Generator | Callable | Static |
| Divide Source(LHS: Float, RHS Source: Noise Graph Generator Base) β Noise Graph Divide Generator | Callable | Static |
| Divide Sources(LHS Source: Noise Graph Generator Base, RHS Source: Noise Graph Generator Base) β Noise Graph Divide Generator | Callable | Static |
| Min Value(LHS Source: Noise Graph Generator Base, RHS: Float) β Noise Graph Min Generator | Callable | Static |
| Min Sources(LHS Source: Noise Graph Generator Base, RHS Source: Noise Graph Generator Base) β Noise Graph Min Generator | Callable | Static |
| Max Value(LHS Source: Noise Graph Generator Base, RHS: Float) β Noise Graph Max Generator | Callable | Static |
| Max Sources(LHS Source: Noise Graph Generator Base, RHS Source: Noise Graph Generator Base) β Noise Graph Max Generator | Callable | Static |
| Min Value Smooth Value(LHS Source: Noise Graph Generator Base, RHS: Float, Smoothness: Float) β Noise Graph Min Smooth Generator | Callable | Static |
| Min Sources Smooth Value(LHS Source: Noise Graph Generator Base, RHS Source: Noise Graph Generator Base, Smoothness: Float) β Noise Graph Min Smooth Generator | Callable | Static |
| Min Value Smooth Source(LHS Source: Noise Graph Generator Base, RHS: Float, Smoothness Source: Noise Graph Generator Base) β Noise Graph Min Smooth Generator | Callable | Static |
| Min Sources Smooth Source(LHS Source: Noise Graph Generator Base, RHS Source: Noise Graph Generator Base, Smoothness Source: Noise Graph Generator Base) β Noise Graph Min Smooth Generator | Callable | Static |
| Max Value Smooth Value(LHS Source: Noise Graph Generator Base, RHS: Float, Smoothness: Float) β Noise Graph Max Smooth Generator | Callable | Static |
| Max Sources Smooth Value(LHS Source: Noise Graph Generator Base, RHS Source: Noise Graph Generator Base, Smoothness: Float) β Noise Graph Max Smooth Generator | Callable | Static |
| Max Value Smooth Source(LHS Source: Noise Graph Generator Base, RHS: Float, Smoothness Source: Noise Graph Generator Base) β Noise Graph Max Smooth Generator | Callable | Static |
| Max Sources Smooth Source(LHS Source: Noise Graph Generator Base, RHS Source: Noise Graph Generator Base, Smoothness Source: Noise Graph Generator Base) β Noise Graph Max Smooth Generator | Callable | Static |
| Exponent Value Base Source(Base Source: Noise Graph Generator Base, Exponent: Float) β Noise Graph Pow Float Generator | Callable | Static |
| Exponent Source Base Value(Base: Float, Exponent Source: Noise Graph Generator Base) β Noise Graph Pow Float Generator | Callable | Static |
| Exponent Source Base Source(Base Source: Noise Graph Generator Base, Exponent Source: Noise Graph Generator Base) β Noise Graph Pow Float Generator | Callable | Static |
| Exponent Int(Base Source: Noise Graph Generator Base, Exponent: Integer) β Noise Graph Pow Int Generator | Callable | Static |
| Fade By Value(Source A: Noise Graph Generator Base, Source B: Noise Graph Generator Base, Fade: Float) β Noise Graph Fade Generator | Callable | Static |
| Fade By Source(Source A: Noise Graph Generator Base, Source B: Noise Graph Generator Base, Fade Source: Noise Graph Generator Base) β Noise Graph Fade Generator | Callable | Static |
Modifiers 13
| Node | Type | Available on |
|---|---|---|
| Domain Scale(Source: Noise Graph Generator Base, Scale: Float) β Noise Graph Domain Scale Generator | Callable | Static |
| Domain Offset By Values(Source: Noise Graph Generator Base, Offsets: Vector 4) β Noise Graph Domain Offset Generator | Callable | Static |
| Domain Offset By Sources(Source: Noise Graph Generator Base, Offset Source X: Noise Graph Generator Base, Offset Source Y: Noise Graph Generator Base, Offset Source Z: Noise Graph Generator Base, Offset Source W: Noise Graph Generator Base) β Noise Graph Domain Offset Generator | Callable | Static |
| Domain Rotate(Source: Noise Graph Generator Base, Rotation: Rotator) β Noise Graph Domain Rotate Generator | Callable | Static |
| Domain Axis Scale(Source: Noise Graph Generator Base, Scale: Vector 4) β Noise Graph Domain Axis Scale Generator | Callable | Static |
| Seed Offset(Source: Noise Graph Generator Base, Offset: Integer) β Noise Graph Seed Offset Generator | Callable | Static |
| Remap(Source: Noise Graph Generator Base, From Range: Vector 2D, To Range: Vector 2D) β Noise Graph Remap Generator | Callable | Static |
| Convert RGBA 8(Source: Noise Graph Generator Base, Range: Vector 2D) β Noise Graph Convert RGBA 8 Generator | Callable | Static |
| Terrace(Source: Noise Graph Generator Base, Multiplier: Float, Smoothness: Float) β Noise Graph Terrace Generator | Callable | Static |
| Add Dimension With Position Value(Source: Noise Graph Generator Base, Dimension Position: Float) β Noise Graph Add Dimension Generator | Callable | Static |
| Add Dimension With Position Source(Source: Noise Graph Generator Base, Dimension Position Source: Noise Graph Generator Base) β Noise Graph Add Dimension Generator | Callable | Static |
| Remove Dimension(Source: Noise Graph Generator Base, Dimension To Remove: Noise Graph Dimension) β Noise Graph Remove Dimension Generator | Callable | Static |
| Make Generator Cache(Source: Noise Graph Generator Base) β Noise Graph Generator Cache Generator | Callable | Static |
NoiseGraph 18
| Node | Type | Available on |
|---|---|---|
| Gen Uniform Grid 2 D(Start: Int Point, Size: Int Point, Frequency: Float, Seed: Integer) β Float Range, Out Values | Callable | Object |
| Gen Uniform Grid 3 D(Start: Int Vector, Size: Int Vector, Frequency: Float, Seed: Integer) β Float Range, Out Values | Callable | Object |
| Gen Uniform Grid 4 D(Start: Vector 4, Size: Vector 4, Frequency: Float, Seed: Integer) β Float Range, Out Values | Callable | Object |
| Gen Tileable 2 D(Size: Int Point, Frequency: Float, Seed: Integer) β Float Range, Out Values | Callable | Object |
| Gen Position Array 2 D(Pos Array: Array of Vector 2D, Offset: Vector 2D, Seed: Integer) β Float Range, Out Values | Callable | Object |
| Gen Position Array 3 D(Pos Array: Array of Vector, Offset: Vector, Seed: Integer) β Float Range, Out Values | Callable | Object |
| Gen Position Array 4 D(Pos Array: Array of Vector 4, Offset: Vector 4, Seed: Integer) β Float Range, Out Values | Callable | Object |
| Gen Single 2 D(Location: Vector 2D, Seed: Integer) β Float | Callable | Object |
| Gen Single 3 D(Location: Vector, Seed: Integer) β Float | Callable | Object |
| Gen Single 4 D(Location: Vector 4, Seed: Integer) β Float | Callable | Object |
| Set Source(In Source: Noise Graph Generator Base) | Callable | Noise Graph Generator Base |
| Set Jitter Modifier Source(In Source: Noise Graph Generator Base) | Callable | Noise Graph Generator Base |
| Set Lookup Source(In Source: Noise Graph Generator Base) | Callable | Noise Graph Cellular Generator Base |
| Set Gain Source(In Source: Noise Graph Generator Base) | Callable | Noise Graph Generator Base |
| Set Weighted Strength Source(In Source: Noise Graph Generator Base) | Callable | Noise Graph Generator Base |
| Set Ping Pong Strength Source(In Source: Noise Graph Generator Base) | Callable | Noise Graph Fractal Generator Base |
| Set Warp Amplitude Source(In Source: Noise Graph Generator Base) | Callable | Noise Graph Generator Base |
| Set Domain Warp Source(In Source: Noise Graph Domain Warp Generator Base) | Callable | Noise Graph Generator Base |
Options & enums
| Enum | Values |
|---|---|
| Distance Function | Euclidean Euclidean Squared Manhattan Hybrid Max Axis |
| Cellular Distance Return Type | Index 0 Index 0 Add 1 Index 0 Sub 1 Index 0 Mul 1 Index 0 Div 1 |
| Dimension | X Y Z W |
Compatibility
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 |
| Linux | Editor & packaged |
| Module | Type | Loading phase |
|---|---|---|
| NoiseGraph | Runtime | Default |
Technical details
| Code modules | NoiseGraph (Runtime) |
|---|---|
| Blueprints | 0 Β· C++ classes: 51 |
| Network replicated | No |
| Development platforms | Windows: Yes, Mac: No |
| Target build platforms | Win64, Linux (Win64 verified) |
| Third-party software | Yes |
| Engine versions | Unreal Engine 4.27 Β· 5.8 β a build for each is included |
| C++ classes | 51 |
| Blueprint nodes | 80 |
| Documentation | Documentation.html (in the download) |
| Download | NoiseGraph.zip Β· 6.7 MB |
| Version | v1.0.0 |
Third-party components
- FastNoise2 (v0.10.0-alpha), Copyright (c) 2020 Jordan Peck, MIT License
It is shipped as headers plus prebuilt Win64 and Linux binaries linked into the plugin, and it sends no data to its authors. The full attributions accompany the Third Party Software declaration submitted to Epic.
What's in the download
| File | What it is |
|---|---|
| NoiseGraph 4.27.zip | Plugin build for Unreal Engine 4.27 |
| NoiseGraph 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 NoiseGraph folder into your project's Plugins/ folder (create it if needed).
- Open the project, enable NoiseGraph under Edit βΊ Plugins and restart the editor.
- Right-click in any Blueprint graph and search Basic Generators β or include the public headers from C++.
- Package for your target platform (Windows, Linux).
Good to know
Built and verified warning-free for Unreal Engine 4.27 and 5.8. Win64 and Linux (x64) only: the noise library is provided as prebuilt binaries for these two platforms, so Mac, Android and iOS are not supported. On UE 4.27, C++ modules that include NoiseGraph headers must compile as C++17. Developed and maintained by Alpha XP.
Everything included
- Value, Perlin, Simplex, OpenSimplex2, OpenSimplex2S and cellular value/distance/lookupβ¦
- FBm, Ridged and PingPong fractals with gain, weighted strength, lacunarity and octaves
- Gradient domain warp plus progressive and independent fractal domain warps
- 28 blend nodes: add, subtract, multiply, divide, min, max, smooth min/max, exponent, fade
- Modifiers: domain scale/offset/rotate/axis scale, seed offset, remap, terrace, RGBA8,β¦
- Uniform grid generation in 2D, 3D and 4D, tileable 2D maps, position arrays and singleβ¦
- Min/max range returned by every bulk generation call
- Encoded node-tree strings load a complete tree with one node
- 62 Blueprint factory nodes plus per-generator setter nodes
- Win64 and Linux (x64) support
Platforms
Requirements
- Unreal Engine 4.27 and 5.8
- Develop on Windows (Win64)
- Blueprints and C++
In the download
Personal
One non-commercial project
- 1 activation seat
- 1 year of updates
- One end product
- Non-commercial use
- Community support
- 14-day refund window
Commercial
Ship paid products
- 5 activation seats
- 1 year of updates
- One paid end product
- Unlimited end users
- Priority support
- Source files
- 14-day refund window
Extended
Resell & white-label
- Unlimited activation seats
- Lifetime updates
- Unlimited end products
- White-label & resell
- 1-hour SLA
- Seat-free team use
- 14-day refund window
One purchase per product, no subscription. Each licence comes with a signed key β 1 seat on Personal, 5 seats on Commercial, unlimited seats on Extended. Paid licences can be refunded within 14 days from your order page.
- v1.0.0Latest
- Unreal Engine 4.27 and 5.8
- Blueprint and C++ API, HTML documentation
Be the first to review NoiseGraph β reviews come from customers who bought it, so every one is a verified purchase.
Frequently asked
How do I get the files after paying?
Straight after checkout you land on your order page with the download button and your licence key. A receipt is emailed to you, and every order stays in My library.
Which licence do I need?
Personal β One non-commercial project. Commercial β Ship paid products. Extended β Resell & white-label. The Licences tab compares them side by side.
On how many devices can I activate it?
1 seat on Personal, 5 seats on Commercial, unlimited seats on Extended.
How long do I get updates?
Personal: 1 year of updates, Commercial: 1 year of updates, Extended: lifetime updates, counted from your purchase.
Can I get a refund?
Yes β paid licences can be refunded within 14 days, straight from your order page.
Is the download safe?
The file was scanned with ClamAV when it was published. Its SHA-256 checksum is listed under Features β In the download, so you can verify the file you receive.
Do I need an account?
No. Checkout only needs your email. Signing in keeps all your purchases, keys and downloads together in My library.
More like this
AudioLens
Real-time audio analysis: FFT spectrum, onset and beat detection, and a full set of time- and frequency-domain descriptors..
β β β β β No reviews yetTTechHarbour$14.00BlueprintTCP
BlueprintTCP lets you connect to any TCP server and exchange data entirely from Blueprints β no C++ and no networking boilerplate.
β β β β β No reviews yetTTechHarbour$12.99BluetoothLink
Bluetooth Low Energy for Unreal - scan, connect, read, write and subscribe to BLE devices on Android and iOS.
β β β β β No reviews yetTTechHarbour$11.99ClusterLink
SocketCluster realtime client for Unreal - pub/sub channels, auth engine and JSON codec, usable from Blueprints.
β β β β β No reviews yetTTechHarbour$11.99