Skip to content

nxCache

nxCache records a NeXus simulation to disk so it can be played back without recalculating it.

Once a simulation is cached, NeXus reads the stored particle data straight from disk instead of solving it again each time you play the scene.

Add it from Add ▸ INSYDIUM NeXus ▸ nxCache. It arrives as an empty, and all of its settings live in Properties ▸ Physics.

Caching has several uses:

  • You can scrub backwards and forwards through the timeline.
  • You run a complex animation once, then play it back from the cache. Whether that is faster than simulating live depends on your hardware. On fast storage it usually is, though a GPU simulation can sometimes run live quicker than it reads from disk.
  • Once a frame is cached it plays back the same way every time, so the result is repeatable and does not change between sessions.
  • The cache is kept with the scene, so it is there again when you reopen the file.
  • When rendering across a network, every machine reads the same cached data, so there is no discontinuity between frames rendered on different machines.

The nxCache panel on its Build tab

The nxCache panel in Properties ▸ Physics, on its Build tab.

nxCache has a single panel of settings, split across three internal tabs at the top: Build, Playback and Inclusion.

Turns nxCache on or off. Disable it to stop it reading or recording without deleting it.


The Build tab sets how the cache is recorded and where its files are written.

Sets what nxCache does with the cache. Set as Off, by default.

  • Off: caching is disabled.
  • Playback: cached data is read back during playback, so the simulation is not recalculated.
  • Record: simulation data is recorded to the cache as the scene plays.

The file format used for the cache data. Set as NeXus, the native format, by default.

The other options let you write the cache in a format another application can read: Alembic, X-Particles, BGEO, GEO, PDB, PDB32, PDB64, PDA, PTC, PDC, PRT and BIN.

A unit scale applied when reading and writing cache files, so cached positions and velocities can match the scale used in another application. Defaults to 1.0.

Sets which particle data channels are recorded. Set as Basic, by default.

  • Basic: records position, velocity and basic particle data.
  • All: records every available particle data channel.
  • Custom: choose exactly which channels to record.

Selecting Custom reveals a grid of channel toggles: Velocity (on by default), Color, Mass, Fuel, Rotation, Time, Display, Group, Temperature, Smoke, Scale, Life, ID, Radius and Distance. Enable only the channels you need to keep the cache small.

The nxCache Custom record-data channel grid

The channel grid revealed when Record Particle Data is set to Custom.

The file format used for the ExplosiaFX voxel cache, when caching a simulation that produces voxel data. Set as NeXus, by default. The other options are OpenVDB and X-Particles EFX.

A unit scale applied when reading and writing the EFX voxel cache. Defaults to 1.0.

A collapsible group that sets which voxel channels are written and what each one is named. This is useful with OpenVDB, so the grid names match those expected by the third-party application or render engine you are taking the files into.

Smoke and Temperature are recorded by default. Fuel, Velocity and Color are off by default. Each channel has a name field beside it, holding the grid name written to the file.

The nxCache EFX Channels group expanded

The EFX Channels group expanded, with a name field beside each channel.

The folder where cache files are written. It defaults to the NeXus cache folder set in the add-on preferences.

Cache ID, Ext Separator and Index Padding are grouped under a collapsible File Naming fold, closed by default. Expand it to control how cache files are named on disk.

A unique ID for this cache, written as a subfolder inside the Directory, so several scenes can share one cache directory without overwriting each other. A new ID is generated automatically when you add nxCache. Click the refresh button beside the field to generate a fresh one.

The character placed between the object name and the frame index in cache file names. Defaults to an underscore.

The number of digits in the zero-padded frame index in file names. Defaults to 6 and can range from 1 to 12.

Compresses the cache data to reduce disk usage. On by default. With large particle counts compression can add a noticeable cost to both building and reading the cache.

The maximum amount of memory, in megabytes, the cache may use. Defaults to 100.

Runs the whole frame range and records it to the cache in one pass, showing a progress dialog. When it finishes it switches Cache Mode to Playback, so the scene reads back the cache you just built.

If nxCache is disabled, clicking Build Cache re-enables it automatically before building.

If the cache directory already holds data you are prompted to Overwrite it, Continue filling in any missing frames or Cancel.

Deletes all cached frames, freeing the memory and removing the files from disk. You are asked to confirm first.

Below the buttons, a read-only panel reports on the last build: Cached Frames, Memory Used, Compressed Size (shown only while Compress Cache is on, with the compression ratio beside it) and Uncompressed Size.

The list of NeXus objects being cached. NeXus fills it automatically from the objects feeding this cache. Each row has a padlock and an enable toggle:

  • The padlock locks a source, so its cached data is preserved and not re-recorded when the cache is rebuilt.
  • The enable toggle switches a source in or out of the cache without removing it from the list.

The Playback tab controls how the cache is read back, including retiming and the playback range.

The nxCache Playback tab

The nxCache panel on its Playback tab, with Retiming set to Disabled.

Remaps how cache time is played. Set as Disabled, by default.

  • Disabled: the cache plays at its recorded timing. This reveals the Offset and Scale settings below.
  • Frame: retime by keyframing a Frame value, which appears when this is selected.
  • Time(s): retime by keyframing a Time value in seconds, which appears when this is selected.
  • Custom: retime with a Timing spline curve. The X-axis is the scene time and the Y-axis is the cache frame to play, so you can ease or reverse playback.

The nxCache Playback tab with Retiming set to Custom

The Playback tab with Retiming set to Custom, showing the Timing spline.

Available when Retiming is Disabled. Offsets the cache time, in frames. Defaults to 0.

Available when Retiming is Disabled. Scales the cache playback speed. Defaults to 100%, so 200% plays the cache back twice as fast.

Takes the playback range from the scene’s own frame range. On by default. Turn it off to set the range by hand with Start and Stop.

Available when Auto is off. The frame at which the cache starts being used. Defaults to 0.

Available when Auto is off. The frame at which the cache stops being used. Defaults to 250.


The Inclusion tab holds an Include/Exclude list that limits which NeXus objects are cached, rather than caching everything in the scene.

Add NeXus objects to the list, then use the per-item Included toggle to control whether each one is part of the cache.

The nxCache Inclusion tab

The nxCache panel on its Inclusion tab, showing the Include/Exclude list.


Copyright © 2026 INSYDIUM LTD. All Rights Reserved.