Repository navigation
Releases: Vlado-VG/redotplusplus
Release list
RD-26.3_Px-5.11_B005-Beta
RedotPlusPlus 26.3-Stable + PhysX, Blast & Flow
Quick setup:
- Create your project,
- In the editor, select Project->Project Settings and on General tab, find
Physics/3D/Physics Engine = "PhysX"and restart the editor.
Changelog B003→B005
Feature updates:
PhysX — Linux & GPU physics
-
Linux support for the whole PhysX module (
450f67856a,ce6d8ee387): all 16 PhysX CPU static libs rebuilt from PhysX 5.11.0 (the previous vendored set was actually 5.10 and failed the SDK version check on init), a CUDA-enabled SDK build with a rebuiltlibPhysXGpu_64.so(kernel gencode sm_75/86/89), PhysXGpu shared runtime linked, and NVIDIA Blast 5.0.6 runtime libraries wired for linuxbsd with $ORIGIN rpaths. -
Script-facing GPU dynamics queries (
d5861f2951):PhysXServer3D.is_gpu_dynamics_enabled()is now ClassDB-bound and a new get_gpu_device_name() returns the CUDA device name (empty string on CPU-only builds, no usable device, or when enhanced determinism forces the CPU path). Both documented. -
New Flow controls (
82012c60c3): PhysXFlowSimulation3D gains light_scattering (gates the gas light-shaft/self-shadow pass) and scattering_receive_shadows (gates shadow sampling at shadow-steps quality). -
Script-facing Flow diagnostics (
82012c60c3):PhysXFlowSimulation3D.get_stats()now exposes availability, backend, active blocks, step time, render calls and timings — for debug HUDs.
Flow — platform & CI:
-
Linux support for Flow (
02da4dbed4): the runtime libraries are loaded by absolute path next to the engine executable (fixing Linux dlopen behavior), the SCsub stages the CI-built .so, and the docs describe the Windows/Linux runtime layout. -
Stabilized Flow SDK CI builds (
dc7a17106a,1909a57e61,b21a5ecf06): Linux packman dependencies and GL/X11 dev headers added, premake permissions fixed, fail-fast disabled between OS jobs, MSVC C4756 no longer warning-as-error, builds limited to the library targets the engine actually uses, and the libnvflow staging path fixed.
Most important fixes:
- Fixed - Blast destructibles and NVIDIA Flow are Windows-only
- Fixed - GPU particle fluids on Linux currently degrade to their non-isosurface path (rigid-body GPU dynamics is unaffected)
Flow
-
Colormap presets now render faithfully: the SDK shallow-copies committed params and re-reads them at draw time, but the snapshot chain lived in step() stack locals — every draw dereferenced dead memory and overwrote per-preset colormaps with the default gray ramp. The chain now lives in FlowSimulation member storage; all five example presets verified with distinct colormaps.
-
Solid colliders block gas: solid flow colliders switched to the reference coupling idiom (zero injection with full-channel velocity + divergence coupling and allocationScale 0). Previously gas blew straight through walls — e.g. the flame_thrower flame passed through instead of deflecting.
-
Multi-sim crash fix: transient-wrapper pooling was reverted — the SDK holds transient pointers across frames, so recycling wrappers handed stale identities back under new resources and deterministically defaulted multi-sim scenes (verified by bisection).
Physx
-
GPU gating + thread synchronization: GPU runtime link/staging correctly gated behind physx_gpu on Linux; a new inert GPU-dispatch stub keeps non-GPU non-Windows builds linking; supports_diffuse_particles() capability query with clean guarded degrade for GPU particle fluids (plus a configuration warning for a pinned PBD solver on unsupported platforms); and new command_flush_begin/end hooks on PhysicsServer3D so the multithreaded command pump brackets each batch with the module's API mutex — hardening against mid-solve access.
-
Blast debug-build fix: define _DEBUG for dev_build on non-Windows — Blast's NvFoundation hard-errors when neither NDEBUG nor _DEBUG is defined, which broke TSan/dev editor builds.
-
Behaviour fix: PhysXServer3D.intersect_ray() now returns -1 (not 0) for unknown shape indices in all three branches.
Refactoring & code quality (no behavior change unless noted)
-
Core naming pass: conversion helpers renamed to direction-correct
godot_to_px()/px_to_godot()across 20 files;get_px_actor()/has_gpu()aliases collapsed ontoget_rigid_actor()/is_gpu_dynamics_enabled(); shape vocabulary unified (shape_blueprint/shape_instance/detection_shape);TriggerEvent.statustyped asPhysicsServer3D::AreaBodyStatus; precise field names (penetration_depth, collider_contact_velocity, …); -
Feature-subsystem naming pass: ~250 identifier cleanups across vehicles, Blast, and water code
-
PhysX lifecycle regression suite: covers overlap exits after body removal, joint preservation across body mode changes, async mid-solve frees, and freeing an area during monitor dispatch; included in the default test run.
Pulled in from upstream Redot (via merges ef2e1b7, 4d11f21)
-
GDScript: fix nullable narrowing for struct fields (Redot-Engine#1504); fix syntax highlighting for static variables, traits, and structs (Redot-Engine#1502).
-
WorldScape3D: more fixes (Redot-Engine#1505) — Terrain Assets Dock no longer starts floating, Baker crash candidate removed in debug builds, redundant destructors/queue_free() calls cleaned up, resource leaks restored-and-fixed, "ReX" naming corrected to Redot.
-
MCP module: send the initialized notification in verify_workflow.py; fix inspect_live ignoring node_path; fix set_prop not assigning resources and silently ignoring failed sets; fix trigger_action blocking the game instead of holding the action.
-
Version bumped to 26.3-stable (
85e5203945).
Which download do I need?
| File | Use it for |
|---|---|
redot-windowsx64.zip / redot-linuxbsd.zip |
The editor — Windows / Linux, GDScript projects |
redot-windows-mono.zip / redot-linux-mono.zip |
The editor with C# support |
redot-windows-template.zip / redot-linux-template.zip |
Export templates — GDScript projects |
redot-windows-template-mono.zip / redot-linux-template-mono.zip |
Export templates for C# projects |
redot-macos-*.zip |
macOS editor/templates (no PhysX — standard physics) |
The templates must match your editor: C# projects built with a -mono
editor need the -mono templates.
Requirements
- Windows 10+ (x64) or Linux (x86_64)
- Any GPU for standard physics; an NVIDIA Pascal GPU or later + current driver for GPU dynamics, particles and fluids (everything falls back to CPU cleanly without one)
- C# projects: use the
-monobuilds (include the .NET runtime assemblies)
Known limitations/issues in this build
- The PhysX module ships for Windows and Linux only; macOS builds run the standard physics backend
- PhysX
INFO_ISLAND_COUNTreports 0 (the SDK exposes no island count) - CPU fallback collision has an issue - Fixed new commit (
86bded131f), will ship in the next build (B006)
RD_26.3-RC4_Px5.11_B004-Deprecated
[Fix][PhysX] Blast: define _DEBUG for dev_build on non-Windows Blast's shared/NvFoundation/NvPreprocessor.h hard-errors when NDEBUG and _DEBUG are both undefined, and Godot's dev_build defines neither - so the TSan editor job (dev_build=yes) failed at NvPreprocessor.h:458: "Exactly one of NDEBUG and _DEBUG needs to be defined!" once Blast headers entered the Linux build.
RD_26.3-RC4_Px5.11_B003-PreRelease
RedotPlusPlus 26.3-rc4 + PhysX, Blast & Flow
Quick setup:
- Create your project,
- In the editor, select Project->Project Settings and on General tab, find
Physics/3D/Physics Engine = "PhysX"and restart the editor.
Changelog B002→B003
To be updated at release...
Known open issue(s) remaining to be fixed before release: per-sim colormaps verify correct in the mapped params
desc but the SDK's render pass still paints default white; shapes, buoyancy and density all match master.
Which download do I need?
| File | Use it for |
|---|---|
redot-windowsx64.zip / redot-linuxbsd.zip |
The editor — Windows / Linux, GDScript projects |
redot-windows-mono.zip / redot-linux-mono.zip |
The editor with C# support |
redot-windows-template.zip / redot-linux-template.zip |
Export templates — GDScript projects |
redot-windows-template-mono.zip / redot-linux-template-mono.zip |
Export templates for C# projects |
redot-macos-*.zip |
macOS editor/templates (no PhysX — standard physics) |
The templates must match your editor: C# projects built with a -mono
editor need the -mono templates.
Requirements
- Windows 10+ (x64) or Linux (x86_64)
- Any GPU for standard physics; an NVIDIA Pascal GPU or later + current driver for GPU dynamics, particles and fluids (everything falls back to CPU cleanly without one)
- C# projects: use the
-monobuilds (include the .NET runtime assemblies)
Known limitations/issues in this build
- The PhysX module ships for Windows and Linux only; macOS builds run the standard physics backend
- Blast destructibles and NVIDIA Flow are Windows-only in this release
- GPU particle fluids on Linux currently degrade to their non-isosurface path (rigid-body GPU dynamics is unaffected)
- Windows binaries are not yet code-signed — expect the SmartScreen prompt ("More info → Run anyway"). Signing through the SignPath Foundation is pending.
- PhysX
INFO_ISLAND_COUNTreports 0 (the SDK exposes no island count)
Verification
SHA256 checksum to be updated at release. Please do not download this build if you do not trust it.
RD_26.3-RC4_Px5.11_B002-Deprecated
RedotPlusPlus 26.3-rc4 + PhysX, Blast & Flow
Quick setup:
- Create your project,
- In the editor, select Project->Project Settings and on General tab, find
Physics/3D/Physics Engine = "PhysX"and restart the editor.
Changelog B001→B002
-
The merge of
origin/masterintointegration/PhysXis done. The branch now includes the 26.3-rc.4 version bump, the nullable-narrowing fix, and the README update. The current branch is fully up to date with Redot'supstream/master. -
Chunk emitter
spread_degreeshint —radians_as_degrees→degrees(editor was corrupting edited values). -
Wake crest breaking — 13-line shader fix so a hull circling at speed can't pile a runaway crest (height past 4× the deepest dip collapses into foam).
-
Joint angle conventions — Redot measures hinge/6DOF angles opposite to PhysX's D6 (verified against the built-in and Jolt backends). Twist/swing limits, hinge limits, hinge motor velocity, 6DOF spring equilibria, and 6DOF angular motor targets are now negated — ragdoll knees/elbows no longer bend backwards. The hinge had the same latent mirroring as the 6DOF.
-
Vehicle wheel query filter (new
physx_wheel_query_filter.h) — node-stack wheels now hit only non-area shapes in the vehicle'scollision_mask, so cars no longer rest on Area3Ds. Wired into all threeconfigure_*functions. -
Joints survive static↔dynamic flips — new
PhysXJoint3D::actor_invalidated()releases the constraint before the actor is destroyed (it was silently dangling before;rebuild()couldn't fix it because its guard saw a stale pointer). -
Area exits on actor rebuild — exit events were factored into _emit_all_area_exits() and now fire on the static↔dynamic flip too, so body_exited can't be lost or double-counted.
-
physics/physx_3d/simulation/max_depenetration_velocitysetting (default 4 m/s, 0 = off), applied viasetMaxDepenetrationVelocityon every rigid body. -
Vehicle
physics_material_overrideon PhysXVehicle3D/Motorcycle3D/Tank3D — adapted to your architecture: the signed friction/bounce go into the chassis actor'sPhysXActorUserData(what your contact-modify combiner actually reads), and the chassisPxMaterialis authored from the same values for the GPU path, which bypasses contact modification. Default is 1.0/0.0 — exactly what the combiner did before, so no behavior change when unset. Note the old "deliberately low-friction chassis" comments were misleading (the combiner always overrode that material); They were corrected. -
Destructible kill_y ghost fix — debris freed by kill_y now retires its Blast actor (NvBlastActorDeactivate + live_actors cleanup) once no chunk of it has a live piece, and the damage loop retires dead actors instead of splitting them, which used to re-spawn vanished chunks as ghosts.
-
Docs sweep — config.py now lists PhysXBoat3D/Buoyancy3D/WaterSpray3D/WaterWake3D (their class-reference pages were silently missing from doc builds), Gas3D emitters 4→8, ParticleFluid3D engine-requirement scoped to the PBD solver only, destructible transparency/ignore_occlusion_culling documented, BlastAuthoring context-menu wording, and the three vehicle XMLs document the new property plus the corrected collision_mask semantics.
Which download do I need?
| File | Use it for |
|---|---|
redot-windowsx64.zip / redot-linuxbsd.zip |
The editor — Windows / Linux, GDScript projects |
redot-windows-mono.zip / redot-linux-mono.zip |
The editor with C# support |
redot-windows-template.zip / redot-linux-template.zip |
Export templates — GDScript projects |
redot-windows-template-mono.zip / redot-linux-template-mono.zip |
Export templates for C# projects |
redot-macos-*.zip |
macOS editor/templates (no PhysX — standard physics) |
The templates must match your editor: C# projects built with a -mono
editor need the -mono templates.
Requirements
- Windows 10+ (x64) or Linux (x86_64)
- Any GPU for standard physics; an NVIDIA Pascal GPU or later + current driver for GPU dynamics, particles and fluids (everything falls back to CPU cleanly without one)
- C# projects: use the
-monobuilds (include the .NET runtime assemblies)
Known limitations in this build
- The PhysX module ships for Windows and Linux only; macOS builds run the standard physics backend
- Blast destructibles and NVIDIA Flow are Windows-only in this release
- GPU particle fluids on Linux currently degrade to their non-isosurface path (rigid-body GPU dynamics is unaffected)
- Windows binaries are not yet code-signed — expect the SmartScreen prompt ("More info → Run anyway"). Signing through the SignPath Foundation is pending.
- PhysX
INFO_ISLAND_COUNTreports 0 (the SDK exposes no island count)
Verification
SHA256 checksums for every artifact are published in SHA256SUMS alongside the downloads. Please verify your download before running it.
RD_26.3-RC3_Px5.11_B001-Deprecated
RedotPlusPlus 26.3-rc3 — PhysX Edition (First Public Build)
Quick setup:
- Create your project,
- In the editor, select Project->Project Settings and on General tab, find
Physics/3D/Physics Engine = "PhysX"and restart the editor.
Current build features
- Native NVIDIA PhysX 5.11 backend — rigid bodies, areas, queries, character motion, joints (all five types), articulations, area monitoring, sleep/lifecycle management
- GPU dynamics (CUDA) on Windows and Linux, with automatic CPU fallback on machines without an NVIDIA driver
- GPU particles and fluids — CUDA PBD + MLS-MPM with Ihmsen-style whitewater foam (spray, foam, bubbles)
- Soft bodies — GPU FEM with CPU XPBD fallback, rigid attachment
- Cloth — GPU cloth + skinned-cloth GPU solver, XPBD fallback
- Granular materials (Drucker-Prager) and sparse-grid gas
- Blast destruction — destructible nodes + in-editor fracture tools
- NVIDIA Flow — volumetric fire, smoke and fluids with a FogVolume render bridge
- Water — FFT/JONSWAP ocean, ripple solver, caustics, swash and shore foam,
PhysXBuoyancy3D/PhysXBoat3Dhull buoyancy, wake solver and GPUParticles3D spray - Vehicles — full RID-level vehicle2 stack (DirectDrive + EngineDrive, Ackermann steering) and a scene-node stack:
PhysXVehicle3D,PhysXVehicleWheel3D,PhysXMotorcycle3D,PhysXTank3D - Editor tooling — fluid/cloth/destructible/flow gizmos, cloth paint plugin, Blast fracture dialog, vehicle wheel gizmos
Which download do I need?
| File | Use it for |
|---|---|
redot-windowsx64.zip / redot-linuxbsd.zip |
The editor — Windows / Linux, GDScript projects |
redot-windows-mono.zip / redot-linux-mono.zip |
The editor with C# support |
redot-windows-template.zip / redot-linux-template.zip |
Export templates — GDScript projects |
redot-windows-template-mono.zip / redot-linux-template-mono.zip |
Export templates for C# projects |
redot-macos-*.zip |
macOS editor/templates (no PhysX — standard physics) |
The templates must match your editor: C# projects built with a -mono
editor need the -mono templates.
Requirements
- Windows 10+ (x64) or Linux (x86_64)
- Any GPU for standard physics; an NVIDIA Pascal GPU or later + current driver for GPU dynamics, particles and fluids (everything falls back to CPU cleanly without one)
- C# projects: use the
-monobuilds (include the .NET runtime assemblies)
Known limitations in this first build
- The PhysX module ships for Windows and Linux only; macOS builds run the standard physics backend
- Blast destructibles and NVIDIA Flow are Windows-only in this release
- GPU particle fluids on Linux currently degrade to their non-isosurface path (rigid-body GPU dynamics is unaffected)
- Windows binaries are not yet code-signed — expect the SmartScreen prompt ("More info → Run anyway"). Signing through the SignPath Foundation is in progress
- PhysX
INFO_ISLAND_COUNTreports 0 (the SDK exposes no island count)
Verification
SHA256 checksums for every artifact are published in SHA256SUMS alongside the downloads. Please verify your download before running it.