Skip to content

Releases: Vlado-VG/redotplusplus

RD-26.3_Px-5.11_B005-Beta

Choose a tag to compare

RedotPlusPlus 26.3-Stable + PhysX, Blast & Flow

Quick setup:

  1. Create your project,
  2. 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 rebuilt libPhysXGpu_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 onto get_rigid_actor()/is_gpu_dynamics_enabled(); shape vocabulary unified (shape_blueprint/ shape_instance/ detection_shape); TriggerEvent.status typed as PhysicsServer3D::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 -mono builds (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_COUNT reports 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

Pre-release

Choose a tag to compare

[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

Pre-release

Choose a tag to compare

RedotPlusPlus 26.3-rc4 + PhysX, Blast & Flow

Quick setup:

  1. Create your project,
  2. 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 -mono builds (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_COUNT reports 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

Pre-release

Choose a tag to compare

RedotPlusPlus 26.3-rc4 + PhysX, Blast & Flow

Quick setup:

  1. Create your project,
  2. 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/master into integration/PhysX is 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's upstream/master.

  • Chunk emitter spread_degrees hint — 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's collision_mask, so cars no longer rest on Area3Ds. Wired into all three configure_* 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_velocity setting (default 4 m/s, 0 = off), applied via setMaxDepenetrationVelocity on every rigid body.

  • Vehicle physics_material_override on PhysXVehicle3D/Motorcycle3D/Tank3D — adapted to your architecture: the signed friction/bounce go into the chassis actor's PhysXActorUserData (what your contact-modify combiner actually reads), and the chassis PxMaterial is 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 -mono builds (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_COUNT reports 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

Pre-release

Choose a tag to compare

RedotPlusPlus 26.3-rc3 — PhysX Edition (First Public Build)

Quick setup:

  1. Create your project,
  2. 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 / PhysXBoat3D hull 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 -mono builds (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_COUNT reports 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.