Blue man Vehicle Physics Plugin


You can get the Plugin right now on Gumroad.
Blue Man Vehicle Physics**

Hi :wink:
This is my new plugin that I have been working on for the last 3 months, I am going to submit it this week.
This is an alternative to PhysX vehicles which come with the Engine and my system is not connected to any existing vehicle systems, it is written from scratch. I originally made this system for my project](Giants Of Destruction WIP - Game Development - Epic Developer Community Forums) because I needed a more reliable vehicles that won’t fly into space after a small bump. This system also gives you an option to remove and add wheels at runtime, you can also change vehicle’s engine settings and if you want you can even swap the torque curve. This system is made in a “modular” way so you can add as many wheels as you want.

Multiplayer is supported, it is using the standard server side replication, I am also working on client side prediction with Rewind/Replay functionality. Client side prediction will be include with the Plugin but it is not production ready yet, it is marked as Experimental. You can expect frequent updates as I work on my project.

I’m going to release it for 80$.

**Packaged demo project:!ah9yWJID!GpP-pww9V…XZcr8gdasgoJX4
In the first level in the UI it says that the racing preset is on key 1 but it should be 2, I noticed that after I packaged the project.

Console is set to Del key on the numpad.

VehiclePhysics_ExampleLevel (first level)
VehiclePhysics_ExampleLevel_Client (client side prediction (experimental) level)
VehiclePhysics_ExampleLevel_Server (server side replication level)

Sorry for the music in the background, after I rendered it I realized how irritating it is. There is no voice over because I usually I don’t speak English (and I’m not confident enough :slight_smile: )

Here is quick demonstration :cool:**

**Also if any of you own my Vehicle AI Plugin](Blue Man Vehicle AI Plugin in - UE Marketplace) you can use it with this one, a while back I added support for non wheeled vehicle so it is going to be fully compatible with this one.

Feedback is welcome, if you have any suggestions or ideas let me know.**

This is what threw me off for a brief moment when I tried to replicate from the example project you provided, but going back through the history of the forum for this helpful plugin I was able to find the answer in post #130 and this was able to get the vehicles moving in my project. So if anyone is finding that you vehicles are falling to the ground and not moveing just go to your projects settings and do a search for sub-stepping and enable both check boxes.
Example of what I was able to get in a day and have not fully delved into the plugin all the way but getting very get control for the vehicles so far.

Yes, it supports standard server side replication with listen and dedicated server. Client side replication is just a different method of movement replication, basically client will have full control over its replication so it doesn’t experience any movement corrections or lag. Anything vehicle physics related is covered. There kinda already is a list, you can find the plugin at “Epic Games\Engine Version\Engine\Plugins\Marketplace\Plugin Nanme”, and locate and open “LandVehicle_EngineComponent.h”, any variable which has “BlueprintReadWrite” in UPROPERTY macro is accessible at runtime, it looks like this

Hello i find the problem of the force field that pushes the vehicle away,just disable Sphere Trace in the 4 wheels,and works fine now :slight_smile:

Sorry about that. Here they are

Thank you for the tip, I didn’t notice that at all, most likely because the wheel gets updated to the correct position next frame, I will add it to the next update most likely.

It is not necessarily a problem, the same thing happens in real life too, it is noticeable on very fast and light vehicles and some projects might prefer to have that part there so that’s why I left it and didn’t try to cover it up with counter torque or something.

Implemented friction for the custom solver, sleep state is currently quite broken so don’t look at that :stuck_out_tongue:

I looked for the AI plugin forum post, but couldn’t find it. Apologies if this isn’t the right place to post this.

I made a “master vehicle” based on this physics plugin. Then I made two children based off of it: “master player vehicle” and “ai master vehicle”. The problem is I can’t plug anything into “vehicle movement component”. This seems to only work with the default Unreal vehicle types. Please tell me there’s a way to get it to work with a vehicle made with your physics plugin.

Alright, I did find this post after searching more.

Not sure if I have this hooked up correctly, but the vehicle won’t move.

Just take needed component of the wheel and take transform from it:

I bought the plugin and experiencing difficulty in parking the vehicle still on the ramp with handbrake. As photo displayed, we tested on the example, printed out the Speed of each wheel, from the following part in SuspensionPhysics_component.cpp, it is very close to zero on the ground, but stay around 15 while handbrake is pressed, which suppose to be zero as well.

if (Handbrake)
            N_HandbrakeWheels = N_HandbrakeWheels < 1 ? 1 : N_HandbrakeWheels;
            RollingResistance = FMath::Clamp(((-WheelRollingResistance * 100.0f) + -(Handbrake_Multiplier * 10.0f)) * (Speed * 1.0f), -Handbrake_GripLimit * 1000.0f, Handbrake_GripLimit * 1000.0f) * BodyInstance->GetBodyMass();
            float HandbrakeRollingResistance = -Speed * 20000.0 / N_HandbrakeWheels * StickyTiresHandbrakeMultiplier;
            RollingResistance = FMath::Lerp(RollingResistance, HandbrakeRollingResistance, StickyTiresRatio);

We realized blueman isn’t active anymore, does any owner of plugin has a solution? Where can I find the support email of blueman?

Thanks! Qing

Hi does anyone having problems installing 4.26 version of the plugin to the engine? I press install and nothing happens. I can do it for 4.25 though. Is it my configuration or is there some problem with the 4.26 version of the plugin? Thanks

Some information on the future of this plugin…
4.27 Support is on the way.

There is a planned feature update coming early next year.
With this update I want to completely redesign and rewrite the plugin from scratch, fixing some of the core issue present in the current version and in general improve on every aspect of the plugin.

From the tire model, gearbox, engine - actual simulation to accurately calculate RPM and not deriving it from the wheel rotation like the current version does.

I will keep the current system available for legacy support.
Another goal of the plugin is to simplify the set up process, reduce the number of settings making it easier to tweak while keeping the flexibility of the current system.

Plan is to also implement a whole range of driver assists which all modern cars are equipped with like ABS, ESP, etc…

1 Like

This is great news! Can’t wait!

1 Like

greet plugin, had own it, gj.
But where can i get the demo project source code? i need to learn how to use server and client , thanks

I suggest using SmoothSync plugin to replicate vehicles, thats how I got it to work

SmoothSync is Client authoritative, which is fine for casual racing games. But for competitive games where you don’t want clients to cheat, you need a server authoritative solution

Is that even possible without introducing an input delay?

You simulate the physics locally and update the owner as if they control it themselves so there is no input delay. You only “correct” the owner when the simulation diverges too far from the server’s version. You can include time stamps to compare client and server history data. You can smoothly interpolate over time so it doesn’t look jittery. This is not perfect of course, but this is how Forza and other multiplayer racing games do it, and how BlueMan’s plugin does it

Oh, I see! I think thats a good way of doing that. If not cheaters, our life would be easier lol. Did you get Blue man physics vehicle plugin to do proper replication in the way you described?

I used BlueMan physics for single player only. But I am a network programmer so I have had to use similar methods to do multiplayer games