MeshFlux

Build, update and render runtime-generated meshes with LODs, sections, materials and collision, from Blueprints or C++, with fast in-place updates and async building.

Malware-scannedSigned licence keyInstant downloadUpdates included
MeshFlux β€” screenshot 1
MeshFlux β€” screenshot 2
MeshFlux β€” screenshot 3
MeshFlux β€” screenshot 4
MeshFlux β€” screenshot 5
MeshFlux β€” screenshot 6
MeshFlux β€” screenshot 7
MeshFlux β€” screenshot 8
MeshFlux β€” screenshot 9
MeshFlux β€” screenshot 10
1 / 10
Runtime mesh component and actor (MeshFluxComponent, MeshFluxActor) with Blueprint and…
Simple mesh type: stream sets, mesh builder, flexible vertex formats, up to 8 UV…
Procedural mesh type with Create/Update/Clear Mesh Section and helper nodes for boxes,…
Multiple LODs with per-LOD screen size, multiple sections and material slots,…
In-place GPU updates for dynamic buffer sets (only changed streams are uploaded) and…
Asynchronous building helpers for generating geometry off the game thread
$11.99

MeshFlux adds a mesh component for geometry that is created or changed while the game runs. You describe a mesh as streams of data (positions, normals, tangents, colors, UVs, triangles and poly groups), hand it to the component, and MeshFlux uploads it to the GPU, splits it into sections and material slots, and builds collision for it.

Two mesh types cover the common workflows. MeshFlux Simple gives full control over vertex formats, LODs and sections, and can update vertex data in place on the GPU when only values change. MeshFlux Procedural mirrors the familiar procedural-mesh API (Create Mesh Section, Update Mesh Section, parallel arrays), so existing graphs and code move over with little more than a find-and-replace.

Use it for procedural terrain and buildings, runtime level editors, mesh deformation, voxel and chunk systems, debug and data visualisation, or importing geometry at runtime. Meshes can be generated on worker threads, converted from or baked into Static Mesh assets, and given simple or per-triangle collision.

MeshFlux is part of the Alpha XP utilities collection for Unreal Engine 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 a clean UE 5.8 project.

195Blueprint nodes
UE 5.8Engine build
1Platform

Key features

  • Runtime mesh component and actor (MeshFluxComponent, MeshFluxActor) with Blueprint and
  • Simple mesh type: stream sets, mesh builder, flexible vertex formats, up to 8 UV
  • Procedural mesh type with Create/Update/Clear Mesh Section and helper nodes for boxes,
  • Multiple LODs with per-LOD screen size, multiple sections and material slots,
  • In-place GPU updates for dynamic buffer sets (only changed streams are uploaded) and
  • Asynchronous building helpers for generating geometry off the game thread
  • Simple collision (box, sphere, capsule, tapered capsule, convex hull) and per-triangle
  • Static Mesh conversion: copy Static Meshes into MeshFlux at runtime, bake MeshFlux
  • Ray tracing support, motion vectors for deforming geometry, distance-field and Lumen
  • Details panel with live mesh statistics and a Create Static Mesh button
  • Debug console variables for normals, tangents, binormals and vertex colors
  • 16 C++ example actors and 10 example Blueprints

Blueprint & C++ API

The API is organised into these entry points:

ClassTypeNodesUse it for
MeshFluxSimpleGeometryFunctionLibraryFunction library30Static nodes β€” callable from anywhere, no object needed.
MeshFluxStreamObject26Create with Construct Object or from C++.
MeshFluxManagedMesh Flux23UObject-layer base for managed MeshFlux subclasses (Simple, Procedural).
MeshFluxLocalBuilderMesh Flux Stream Set17
MeshFluxObject16Create with Construct Object or from C++.
MeshFluxBlueprintFunctionLibraryFunction library16Static nodes β€” callable from anywhere, no object needed.
MeshFluxProceduralMesh Flux Managed15PMC-parity UObject leaf for MeshFlux. Mirrors UProceduralMeshComponent's Blueprint surface so PMC users can migrate by find-and-replace.
MeshFluxStreamUtilsFunction library11Static nodes β€” callable from anywhere, no object needed.
MeshFluxSimpleMesh Flux Managed9
MeshFluxStreamPoolObject8An object pool for reusing MeshFlux Streams, StreamSets, and MeshBuilders
+ 7 more classesFunction libraries & objects28Grouped by feature in the node tables below.

Callable runs when executed Β· Pure no exec pin, returns a value

MeshFlux 61
NodeTypeAvailable on
Calc Tex Coord At Location(Body Space Location: Vector, Element Index: Integer, Face Index: Integer, UV Channel: Integer) β†’ Boolean, UVCallableObject
ResetCallableObject
Get Local Bounds() β†’ Box Sphere BoundsCallableObject
Add LOD(Config: Mesh Flux LOD Config) β†’ Mesh Flux LOD KeyCallableObject
Update LOD Config(LOD Key: Mesh Flux LOD Key, Config: Mesh Flux LOD Config)CallableObject
Remove Trailing LODCallableObject
Setup Material Slot(Material Slot: Integer, Slot Name: Name, In Material: Material Interface)CallableObject
Set Num Material Slots(New Num Slots: Integer)CallableObject
Get Material Index(Material Slot Name: Name) β†’ IntegerCallableObject
Get Material Slot Name(Index: Integer) β†’ NameCallableObject
Is Material Slot Name Valid(Material Slot Name: Name) β†’ BooleanCallableObject
Get Material Slot(Slot Index: Integer) β†’ Mesh Flux Material SlotCallableObject
Get Num Materials() β†’ IntegerCallableObject
Get Material Slot Names() β†’ Array of NameCallableObject
Get Material Slots() β†’ Array of Mesh Flux Material SlotCallableObject
Get Material(Slot Index: Integer) β†’ Material InterfaceCallableObject
Make Stream(Stream Key: Mesh Flux Stream Key, Stream Type: Mesh Flux Simple Stream Type, Num Elements: Integer) β†’ Mesh Flux StreamCallableActor
Make Stream Set() β†’ Mesh Flux Stream SetCallableActor
Make Mesh Builder(Wanted Tangents: Mesh Flux Simple Stream Config, Wanted Tex Coords: Mesh Flux Simple Stream Config, Wants 32 Bit Indices: Boolean, Wanted Poly Group Type: Mesh Flux Simple Stream Config, Wants Colors: Boolean, …) β†’ Mesh Flux Local BuilderCallableActor
Should Serialize Mesh Data() β†’ BooleanCallableMesh Flux
Set Should Serialize Mesh Data(New Should Serialize Mesh Data: Boolean)CallableMesh Flux
Get Buffer Sets(LOD Key: Mesh Flux LOD Key) β†’ Array of Mesh Flux Buffer Set KeyCallableMesh Flux
Get Section Groups(LOD Key: Mesh Flux LOD Key) β†’ Array of Mesh Flux Buffer Set KeyCallableMesh Flux
CreateSection(Section Key: Mesh Flux Section Key, Config: Mesh Flux Section Config, Stream Range: Mesh Flux Stream Range, Should Create Collision: Boolean, On Complete: Mesh Flux Managed Completion Callback)CallableMesh Flux
UpdateSectionConfig(Section Key: Mesh Flux Section Key, Config: Mesh Flux Section Config, Should Create Collision: Boolean, On Complete: Mesh Flux Managed Completion Callback)CallableMesh Flux
Get Sections In Buffer Set(Buffer Set Key: Mesh Flux Buffer Set Key) β†’ Array of Mesh Flux Section KeyCallableMesh Flux
Get Sections In Group(Section Group Key: Mesh Flux Buffer Set Key) β†’ Array of Mesh Flux Section KeyCallableMesh Flux
RemoveSection(Section Key: Mesh Flux Section Key, On Complete: Mesh Flux Managed Completion Callback)CallableMesh Flux
RemoveBufferSet(Buffer Set Key: Mesh Flux Buffer Set Key, On Complete: Mesh Flux Managed Completion Callback)CallableMesh Flux

+ 32 more MeshFlux nodes β€” full node reference

MeshFluxActor 1
NodeTypeAvailable on
Get Mesh Flux Component() β†’ Mesh Flux ComponentCallableActor
Collision 3
NodeTypeAvailable on
Find Collision UV Mesh Flux(Hit: Hit Result, UV Channel: Integer) β†’ Boolean, UVCallableStatic
Cook Convex Hull() β†’ Convex HullCallableStatic
Cook Complex Mesh() β†’ Collision MeshCallableStatic
Spheres 6
NodeTypeAvailable on
Add Sphere(Simple Geometry: PARAM(ref) F Mesh Flux Simple Geometry, In Sphere: Mesh Flux Collision Sphere) β†’ Mesh Flux Simple Geometry, Out IndexCallableStatic
Insert Sphere(Simple Geometry: PARAM(ref) F Mesh Flux Simple Geometry, Index: Integer, In Sphere: Mesh Flux Collision Sphere) β†’ Mesh Flux Simple Geometry, SuccessCallableStatic
Get Sphere By Name(Simple Geometry: PARAM(ref) F Mesh Flux Simple Geometry, Sphere Name: Name) β†’ Mesh Flux Simple Geometry, Success, Out SphereCallableStatic

+ 3 more Spheres nodes β€” full node reference

Boxes 6
NodeTypeAvailable on
Add Box(Simple Geometry: PARAM(ref) F Mesh Flux Simple Geometry, In Box: Mesh Flux Collision Box) β†’ Mesh Flux Simple Geometry, Out IndexCallableStatic
Insert Box(Simple Geometry: PARAM(ref) F Mesh Flux Simple Geometry, Index: Integer, In Box: Mesh Flux Collision Box) β†’ Mesh Flux Simple Geometry, SuccessCallableStatic
Get Box By Name(Simple Geometry: PARAM(ref) F Mesh Flux Simple Geometry, Box Name: Name) β†’ Mesh Flux Simple Geometry, Success, Out BoxCallableStatic

+ 3 more Boxes nodes β€” full node reference

Capsules 6
NodeTypeAvailable on
Add Capsule(Simple Geometry: PARAM(ref) F Mesh Flux Simple Geometry, In Capsule: Mesh Flux Collision Capsule) β†’ Mesh Flux Simple Geometry, Out IndexCallableStatic
Insert Capsule(Simple Geometry: PARAM(ref) F Mesh Flux Simple Geometry, Index: Integer, In Capsule: Mesh Flux Collision Capsule) β†’ Mesh Flux Simple Geometry, SuccessCallableStatic
Get Capsule By Name(Simple Geometry: PARAM(ref) F Mesh Flux Simple Geometry, Capsule Name: Name) β†’ Mesh Flux Simple Geometry, Success, Out CapsuleCallableStatic

+ 3 more Capsules nodes β€” full node reference

Tapered Capsules 6
NodeTypeAvailable on
Add Tapered Capsule(Simple Geometry: PARAM(ref) F Mesh Flux Simple Geometry, In Tapered Capsule: Mesh Flux Collision Tapered Capsule) β†’ Mesh Flux Simple Geometry, Out IndexCallableStatic
Insert Tapered Capsule(Simple Geometry: PARAM(ref) F Mesh Flux Simple Geometry, Index: Integer, In Tapered Capsule: Mesh Flux Collision Tapered Capsule) β†’ Mesh Flux Simple Geometry, SuccessCallableStatic
Get Tapered Capsule By Name(Simple Geometry: PARAM(ref) F Mesh Flux Simple Geometry, Tapered Capsule Name: Name) β†’ Mesh Flux Simple Geometry, Success, Out Tapered CapsuleCallableStatic

+ 3 more Tapered Capsules nodes β€” full node reference

Convex Hulls 6
NodeTypeAvailable on
Add Convex(Simple Geometry: PARAM(ref) F Mesh Flux Simple Geometry, In Convex Hull: Mesh Flux Collision Convex) β†’ Mesh Flux Simple Geometry, Out IndexCallableStatic
Insert Convex(Simple Geometry: PARAM(ref) F Mesh Flux Simple Geometry, Index: Integer, In Convex Hull: Mesh Flux Collision Convex) β†’ Mesh Flux Simple Geometry, SuccessCallableStatic
Get Convex By Name(Simple Geometry: PARAM(ref) F Mesh Flux Simple Geometry, Convex Hull Name: Name) β†’ Mesh Flux Simple Geometry, Success, Out Convex HullCallableStatic

+ 3 more Convex Hulls nodes β€” full node reference

MeshFluxComponent 5
NodeTypeAvailable on
Should Replicate Mesh Data() β†’ BooleanCallableMesh Component
Set Replicate Mesh Data(New Replicate Mesh Data: Boolean)CallableMesh Component
Set Mesh Flux(New Mesh: Mesh Flux)CallableMesh Component

+ 2 more MeshFluxComponent nodes β€” full node reference

Key 14
NodeTypeAvailable on
LODIndex to LODKey(LOD Index: Integer) β†’ Mesh Flux LOD KeyPureStatic
Make LOD Key(LOD Index: Integer) β†’ Mesh Flux LOD KeyPureStatic
Make Buffer Set Key Unique(LOD Key: Mesh Flux LOD Key) β†’ Mesh Flux Buffer Set KeyPureStatic
Make Buffer Set Key Indexed(LOD Key: Mesh Flux LOD Key, Buffer Set Index: Integer) β†’ Mesh Flux Buffer Set KeyPureStatic
Make Buffer Set Key Named(LOD Key: Mesh Flux LOD Key, Group Name: Name) β†’ Mesh Flux Buffer Set KeyPureStatic
Make Section Group Key Unique(LOD Key: Mesh Flux LOD Key) β†’ Mesh Flux Buffer Set KeyPureStatic
Make Section Group Key Indexed(LOD Key: Mesh Flux LOD Key, Section Group Index: Integer) β†’ Mesh Flux Buffer Set KeyPureStatic

+ 7 more Key nodes β€” full node reference

Stream 2
NodeTypeAvailable on
Make Section Key For Polygon Group(Section Group Key: Mesh Flux Buffer Set Key, Polygon Group: Integer) β†’ Mesh Flux Section KeyPureStatic
Make Stream Range(Vertices Lower Inclusive: Integer, Vertices Upper Exclusive: Integer, Indices Lower Inclusive: Integer, Indices Upper Exclusive: Integer) β†’ Mesh Flux Stream RangePureStatic
MeshFlux β€Ί Procedural 22
NodeTypeAvailable on
Initialize Mesh Flux Procedural(Owner: Mesh Flux Component) β†’ Mesh Flux ProceduralCallableMesh Flux Managed
Create Mesh Section(Section Index: Integer, Vertices: Array of Vector, Triangles: Array of Integer, Normals: Array of Vector, UV 0: Array of Vector 2D, …)CallableMesh Flux Managed
Create Mesh Section (LinearColor)(Section Index: Integer, Vertices: Array of Vector, Triangles: Array of Integer, Normals: Array of Vector, UV 0: Array of Vector 2D, …)CallableMesh Flux Managed
Update Mesh Section(Section Index: Integer, Vertices: Array of Vector, Normals: Array of Vector, UV 0: Array of Vector 2D, Vertex Colors: Array of Color, …)CallableMesh Flux Managed
Update Mesh Section (LinearColor)(Section Index: Integer, Vertices: Array of Vector, Normals: Array of Vector, UV 0: Array of Vector 2D, UV 1: Array of Vector 2D, …)CallableMesh Flux Managed
Get Mesh Section(Section Index: Integer) β†’ Boolean, Vertices, Triangles, NormalsCallableMesh Flux Managed
Clear Mesh Section(Section Index: Integer)CallableMesh Flux Managed
Clear All Mesh SectionsCallableMesh Flux Managed
Set Mesh Section Visible(Section Index: Integer, New Visibility: Boolean)CallableMesh Flux Managed
Is Mesh Section Visible(Section Index: Integer) β†’ BooleanCallableMesh Flux Managed
Get Num Sections() β†’ IntegerCallableMesh Flux Managed

+ 11 more MeshFlux β€Ί Procedural nodes β€” full node reference

Conversion 1
NodeTypeAvailable on
UPARAM(Display Name)CallableStatic
MeshData 56
NodeTypeAvailable on
Append Box Mesh(Stream Set: Mesh Flux Stream Set, Box Radius: Vector, Box Transform: Transform, New Material Group: Integer, Color: Linear Color) β†’ Mesh Flux Stream SetCallableStatic
Get Num() β†’ Integer, BuilderCallableObject
Is Index Valid(Index: Integer) β†’ Boolean, BuilderCallableObject
Is Empty() β†’ Boolean, BuilderCallableObject
Reserve(Expected Size: Integer) β†’ BuilderCallableObject
Shrink() β†’ BuilderCallableObject
Empty(Expected Size: Integer) β†’ BuilderCallableObject
Set Num Uninitialized(New Num: Integer) β†’ BuilderCallableObject
Set Num Zeroed(New Num: Integer) β†’ BuilderCallableObject
Add Uninitialized(Num To Add: Integer) β†’ Integer, Builder, RowCallableObject
Add Zeroed(Num To Add: Integer) β†’ Integer, Builder, RowCallableObject
Edit Row(Index: Integer) β†’ Mesh Flux Stream Row Ptr, BuilderCallableObject
Add Int(New Value: Integer) β†’ Integer, Builder, RowCallableObject
Add Float(New Value: Float) β†’ Integer, Builder, RowCallableObject
Add Vector 2(New Value: Vector 2D) β†’ Integer, Builder, RowCallableObject
Add Vector 3(New Value: Vector) β†’ Integer, Builder, RowCallableObject
Add Vector 4(New Value: Vector 4) β†’ Integer, Builder, RowCallableObject
Set Int(Index: Integer, New Value: Integer) β†’ Builder, RowCallableObject
Set Float(Index: Integer, New Value: Float) β†’ Builder, RowCallableObject
Set Vector 2(Index: Integer, New Value: Vector 2D) β†’ Builder, RowCallableObject
Set Vector 3(Index: Integer, New Value: Vector) β†’ Builder, RowCallableObject
Set Vector 4(Index: Integer, New Value: Vector 4) β†’ Builder, RowCallableObject
Get Int(Index: Integer) β†’ Integer, Builder, RowCallableObject
Get Float(Index: Integer) β†’ Float, Builder, RowCallableObject
Get Vector 2(Index: Integer) β†’ Vector 2D, Builder, RowCallableObject
Get Vector 3(Index: Integer) β†’ Vector, Builder, RowCallableObject

+ 30 more MeshData nodes β€” full node reference

Options & enums

EnumValues
Section Draw TypeStatic Dynamic
Collision Update ResultUnknown Updated Ignored Error
Proxy Update StatusNo Proxy No Update Updated
Outcome PinsFailure Success
Stream TypeUnknown Vertex Index
Simple Stream TypeUnknown Int 16 U Int 16 Int 32 U Int 32 Float Vector 2 Vector 3 Half Vector 2 Packed Normal Packed RGBA 16 N Triangle 16 Triangle 32
Simple Stream ConfigNone Normal High Precision
Example Collision ModeSimple Complex
Fast Update ModeFull Grid Fast In Place Middle Band Ranged

Compatibility

UE 5.8MeshFlux 5.8.zip

One ready-made build per engine version is included in the download β€” copy the one that matches your project.

PlatformSupported in
WindowsEditor & packaged
ModuleTypeLoading phase
MeshFluxRuntimePostConfigInit
MeshFluxEditorEditorDefault
MeshFluxExamplesRuntimeDefault

Technical details

Code modulesMeshFlux (Runtime), MeshFluxEditor (Editor), MeshFluxExamples (Runtime)
Blueprints10 Β· C++ classes: 35
Network replicatedYes
Development platformsWindows: Yes, Mac: Not verified
Target build platformsWin64
Third-party softwareNo
Engine versionsUnreal Engine 5.8 β€” a build for each is included
C++ classes35 + 30 structs
Blueprint nodes195
DocumentationDocumentation.html (in the download)
DownloadMeshFlux.zip Β· 681 KB
Versionv1.0.0

What's in the download

FileWhat it is
MeshFlux 5.8.zipPlugin build for Unreal Engine 5.8
Documentation.htmlDocumentation (open in a browser)

Quick start

  1. Unzip the download and pick the build that matches your engine (5.8).
  2. Copy the MeshFlux folder into your project's Plugins/ folder (create it if needed).
  3. Open the project, enable MeshFlux under Edit β€Ί Plugins and restart the editor.
  4. Right-click in any Blueprint graph and search MeshFlux β€” or include the public headers from C++.
  5. Package for your target platform (Windows).

Good to know

Built and verified warning-free for Unreal Engine 5.8. The component replicates its mesh-object reference, but mesh geometry is not sent over the network: build the mesh on every machine (the examples do this in the construction script). The runtime modules have no platform restrictions; platforms other than Win64 are supported by the code but not verified by Alpha XP. Developed and maintained by Alpha XP.

Everything included

  • Runtime mesh component and actor (MeshFluxComponent, MeshFluxActor) with Blueprint and…
  • Simple mesh type: stream sets, mesh builder, flexible vertex formats, up to 8 UV…
  • Procedural mesh type with Create/Update/Clear Mesh Section and helper nodes for boxes,…
  • Multiple LODs with per-LOD screen size, multiple sections and material slots,…
  • In-place GPU updates for dynamic buffer sets (only changed streams are uploaded) and…
  • Asynchronous building helpers for generating geometry off the game thread
  • Simple collision (box, sphere, capsule, tapered capsule, convex hull) and per-triangle…
  • Static Mesh conversion: copy Static Meshes into MeshFlux at runtime, bake MeshFlux…
  • Ray tracing support, motion vectors for deforming geometry, distance-field and Lumen…
  • Details panel with live mesh statistics and a Create Static Mesh button
  • Debug console variables for normals, tangents, binormals and vertex colors
  • 16 C++ example actors and 10 example Blueprints

Platforms

Windows

Requirements

  • Unreal Engine 5.8
  • Develop on Windows (Win64)
  • Blueprints and C++

In the download

FileMeshFlux.zip
FormatZIP
Size681 KB
Versionv1.0.0
SHA-2567e677723309459ae…

Personal

$11.99

One non-commercial project

  • 1 activation seat
  • 1 year of updates
  • One end product
  • Non-commercial use
  • Community support
  • 14-day refund window
Read the Personal terms
β˜… Most popular

Commercial

$59.99

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
Read the Commercial terms

Extended

$189.00

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
Read the Extended terms

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.

  1. v1.0.0Latest
    • Unreal Engine 5.8
    • Blueprint and C++ API, HTML documentation
β€”
β˜…β˜…β˜…β˜…β˜…
No reviews yet
5β˜…0%
4β˜…0%
3β˜…0%
2β˜…0%
1β˜…0%

Be the first to review MeshFlux β€” reviews come from customers who bought it, so every one is a verified purchase.

Reviews are for customers who bought MeshFlux.
Email supportsupport@alphaxp.net β€” include your order reference.
What support coversInstallation help, download or activation problems, and questions about documented behaviour, for your licence term.
Keys & downloadsLost a key or a download link? Everything you bought is in My library.
Refunds & terms14-day refunds from your order page. Refund policy Β· Personal terms Β· Commercial terms Β· Extended terms

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

From the same studio
$11.99Personal licence Β· MeshFlux
✦ Why TechHarbour

Software you own, from the people who built it.

117 products, one studio. Each ships with a signed licence key, an instant download and 14-day refunds β€” and every file is malware-scanned before it goes on sale.