IR and Xpresso issue

Since a couple of last builds I’ve noticed that interactive render fall in a loop and continuously restarting. This was happen only in “some” files. After a little investigation now I know that it happen due to xpresso.
Simply workaround for me is to stop xpresso executions from project settings and IR work as usual. This is a bug or a feature?

Attached a simple scene with standard xpresso door from content. Check the behaviour of IR with expresso execution active and not.
Can someone confirm “issue”?

Thanks guys,

Rutg3r
example.c4d (637 KB)

Just confirming the issue w/ VFB IR, while IV behaves orderly.
W10; c4d 2024.4, CRN14.1RC

This is known and reported as (CC4D-1228).
The fix is pretty complex, so it won’t make it into Corona 14 Update 1, sorry.
Perhaps a workaround would be turning the objects using XPresso into editable mesh?

Best and non-destructive workaround is to stop xpresso execution from project settings.

R

Thanks Buddy, I’ve not cecked IV…

Hi everyone,

I wanted to share some findings that might help other users who experience Corona IR getting stuck in a parsing loop.

In my case, the issue happened in scenes with a lot of XPresso-driven visibility switches. The setup contains many day/night/interior view switches, where XPresso is used to control visibility in viewport and renderer. At first sight the XPresso setup looked clean, but Corona IR could still get stuck or keep updating endlessly.

After a lot of testing, I found that the problem was not necessarily caused by the visible switch logic itself, but by old or invalid XPresso connections that remained inside some tags.

The most important finding:

Some XPresso tags were placed on Null objects, and inside those tags an Enabled port was still connected.

This is problematic because a Null object does not have a real generator-style Enabled state. In my case, this probably came from older setups where the same XPresso logic had previously been used on generators such as Cloners, Booleans, Scatters, Connect objects, etc. Later, the setup was moved or copied to Null objects, but the old Enabled ports or connections remained in the XPresso tag.

Visually, this can be easy to miss. A typical problematic case looks like this:

Math Output -> Object Input: Enabled

Even if the rest of the XPresso tag only controls normal visibility ports, this hidden/leftover Enabled connection on a Null can make the scene unstable.

What I checked:

  • XPresso tags on Null objects
  • Old Object nodes with invalid or unnecessary ports
  • Connected Enabled ports on Nulls
  • Missing or outdated ports inside XPresso tags
  • Missing objects in nodes
  • Old generator-based switch logic that had been copied to Null objects
  • XPresso tags that still referenced old objects or old generator parameters

What seems safe in my setup:

XPresso tags on Null objects are not necessarily bad if they only control simple helper values such as:

  • Visible in Editor / Viewport Visibility
  • Visible in Renderer / Renderer Visibility
  • Name
  • Position Y
  • Height Y

But if an XPresso tag on a Null object contains a connected Enabled port, I now treat it as suspicious and remove or rebuild that connection.

I also created a small Python scanner for my scenes. It goes through all XPresso tags and only reports suspicious ones. In one test scene, the scan initially returned from 1407 Xpresso Tags 77 suspicious. After filtering out legitimate visibility/helper switches and focusing on invalid Enabled connections on Nulls, I was able to reduce the scene to 0 suspicious tags.

After cleaning these XPresso tags, this scene became much more stable and rendered normal in IR.

So if anyone runs into Corona IR loops or unexplained scene instability in Cinema 4D, especially in files with a lot of XPresso connections, it may be worth checking whether old Enabled ports are still connected inside XPresso tags on Null objects, or setups with a missing object.

This issue appeared for me in both Corona 14 and Corona 15 with cinema4D R25 and 2026.

Hopefully this helps someone else avoid hours of debugging.

PS: I am not saying this is definitely a Corona bug. It might simply be that invalid or outdated XPresso connections cause Cinema 4D/Corona to keep evaluating the scene. But in my case, cleaning these specific XPresso connections made a clear difference.