How to enable Chaos

Hello I have tried several time to build and use chaos on 4.25 release build but no matter what I try it always fails I have added both bCompileChaos = true; bUseChaos = true; and also change .shared to .unique and have tried to follow comments to no avail but it still does not launch after building the engine I get the Shader type was loaded after engine init, use ELoadingPhase::PostConfigInit on your module to cause it to load earlier. error how do I fix it. Thanks

I commented out that line and rebuilt (points it out when fails), works OK for me.

I not getting this error now im getting this NightmareEditor modifies the value of bCompileChaos. This is not allowed, as NightmareEditor has build products in common with UE4Editor. and I created it with the built engine

I haven’t tried yet but I’m guessing maybe the ChaosDestructionDemo is necessary for it to compile properly? I tried to compile UE 4.25 but without the demo as I figured I just wanted to play around myself.

That’s the only thing I can think of since, built UE4 from source before just fine so it’s certainly something with Chaos. :confused:

Try this link This is right at the end of the video. It is a compiled version 4.25.

Does someone know if it is possible to filter chunks based on their volume/weight, and delete them instead of spawning them when applying strain on a destructible mesh?

I don’t want to have 100 small chunks spawning, rolling around and reducing performances when I can simply replace them with Niagara and only keep the large ones…

I’m still new to the system but would adjusting the “max cluster level” on the geometry cache get you what you want? I believe its intent is to help stop meshes from breaking to the smallest pieces that have been fractured/clustered. It isn’t exactly the technique you are asking about but might provide the control you are after?

General perf question for everyone. There seems to be a perf gap since the 4.23 release of chaos, at least within the test levels. On the order of 10-12ms increase for the same content. And in some instances what had been running smoothly in 4.23 (the scripted destruction of the building in the “Geometry_Collections” level) can dip way down into the red, teens and single digits in 4.24 and 4.25.

I’m assuming this is true for everyone else and not something specific to my build(s). Is that correct?

No, this is not the control I am looking for.
I WANT to fracture very small pieces, however because of their small size they have cannot hurt players when hitting them, or provide cover. These small pieces are literally useless once removed from their original spot, which is why I want to delete them instantly.
You just have to spawn some dust FX to hide this trick.

This trick is described here :…Destruction-in
and here :…Destruction-in

I didn’t manage to get the demo running in 4.23 but I tried it in 4.25 and yeah, the performances are terribly bad. In 4.23 I remember the destruction was lagging a lot but not the framerate because the destruction was happening in a separated thread, however in 4.25 it seems the destruction impacts the frame rate… I reached 5-10 FPS when running through a showroom to activate all triggers in the same time.

Hello. I was able to compile 4.25 with the template demo following the instructions but when i run the default map, it starts fine but it crashes once it starts simulating (after pressing a button in the map), any pointers?

Did you get your explanation? Because I can’t make it work here… Could you show the different steps please?

Seems like the only possible way through my experiments is to use the variable bOverrideBuildEnvironment in your project EditorTarget cs file.

bCompileChaos = true;
bUseChaos = true;
bOverrideBuildEnvironment = true;

I don’t understand this setting so much really as it basically skips the validation of modules that require a unique build when using a shared build of the engine but it does compile and start the engine at least. I really hope we hear something from some devs here

My 4.25 demo runs if I follow the documentation’s steps. However, if I want to launch it from the UE4Editor.exe I generated, it tells me “this project was built with a different engine, rebuilt now?” and then the rebuild fails.

My ChaosDestructionDemoEditor.Target.cs file contains this :

Type = TargetType.Editor;

ExtraModuleNames.AddRange( new string] { "ChaosDestructionDemo" } );

bCompileChaos = true;
bUseChaos = true;
bCompilePhysX = true;
bCompileAPEX = true;
bCompileNvCloth = true;
bCustomSceneQueryStructure = true;
BuildEnvironment = TargetBuildEnvironment.Unique;

Unreal told me there was a problem with

bUseChaos = true;

and told me to use

BuildEnvironment = TargetBuildEnvironment.Unique;


bOverrideBuildEnvironment = true;

but both did not work, I had to remove

bUseChaos = true;

. Now the engine tells me “ChaosDestructionDemo could not be compiled. Try rebuilding from source manually.”…

To resume, I can work with the demo by following the documentation’s steps, but it requires to keep a dedicated engine only for it because there is a problem with this step from the documentation :
6. Build the ChaosDestructionDemo for Development Editor (should be the default Visual Studio configuration). This will build the whole engine, with Chaos, since it’s already setup in the project’s Target file.” -> this does not generate an UE4Editor.exe

So I have a 2nd engine I built the “classic” way, with Chaos working great and a generated .exe, but I cannot open the Demo with this one… Really weird.

@VictorLerp, Can you please help with enabling Chaos in 4.25? It seems a lot of people are facing issues but no one is responding from Epic’s side

Just follow the documentation steps, enabling Chaos is very easy. :wink:
The problem is the demo.

I still has problems to run ChaosDestructionDemo, does that have a way to work?
my steps are
1, download the unreal engine from github, branch 4.25.0-release
2, follow the guide, modify UE4Editor.Target.cs and build UE4 with Chaos,…iew/index.html
3, download ChaosDestructionDemo project and generate sln file with 4.25 engine
4, build and run, the problem happened with below

LogInit: Display: Running incorrect executable for target. Launching Unreal Projects/ChaosDestructionDemo/Binaries/Win64/ChaosDestructionDemoEditor.exe...
LogCore: Engine exit requested (reason: EngineExit() was called)
LogExit: Preparing to exit.

My UE4Editor.Target.cs looks like below

public UE4EditorTarget( TargetInfo Target ) : base(Target)
Type = TargetType.Editor;
BuildEnvironment = TargetBuildEnvironment.Unique;
bBuildAllModules = true;
bCompileChaos = true;
bUseChaos = true;
bOverrideBuildEnvironment = true;

I also tried to change BuildEnvironment = TargetBuildEnvironment.Shard, but this will make ChaosDestructionDemo as a zombie process.

Hi all~ I’m really new here… hope im doing this right…

I managed to get the chaos destruction demo built. However, whenever i try to enter debug, it throws an exception and i get “ChaosDestructionDemoEditor.exe has triggered a breakpoint. occurred” in my visual studio editor.on line 695: “ensureMsgf(false, TEXT(“Skipping non-manifold edge to face mapping.”));” of “TriangleMesh.cpp” and the debug stops working.

I use ‘//’ to comment away the line and try rebuilding and entering debug again. This time, it throws another exception but it’s on line 1007 : “if(ensureMsgf(DynamicCollection, TEXT(“No dynamic collection available for component %s during tick.”), *GetName()))” of “GeometryCollectionComponent.cpp”

I try using ‘//’ to comment away the above segment and managed to get the demo to run.

However, when I try and interact with the demo scene (by stepping on the buttons), none of the destruction elements seem to be working. 2. Fracture/Clustering and 3. Fields do nothing. 4. Niagara shows the particles falling but the pillar doesn’t get destroyed and 5. Gameplay has the “Detected!” lit up even though the box remains undestroyed.

Sidenote: When I close the niagara system editor, I get another exception on line 33 of “EventManager.cpp”: “checkf(EventID < EventContainers.Num(), TEXT(“Unregistering event Handler for an event ID that does not exist”));”

I don’t think I should be commenting away any lines but I don’t know how to get the demo to work… Can someone help me out?


GitHub link appears to be dead, at least on my end.

Your GitHub is not linked with your Unreal Engine account
try this:…ine/index.html