Dear community,
I'm facing an issue with nested Redshift proxy files not being detected by Cinema 4D's Project Asset Inspector. When a Redshift proxy file references another Redshift proxy file (proxy-of-proxy), only the first-level proxy is detected, causing incomplete asset collection when saving projects.
Environment:
- Cinema 4D Version: 2025, 2026
- Renderer: Redshift
- Operating System: Windows, Linux
- Python Version: 3.11 (Cinema 4D native)
Issue Description:
When ProxyA.rs references ProxyB.rs, the Project Asset Inspector only detects ProxyA but fails to discover ProxyB. This results in incomplete project asset collection when using "Save Project with Assets" or when programmatically querying scene dependencies.
Steps to Reproduce:
- Create objects in Cinema 4D and export to Redshift proxy (ProxyB.rs)
- Create new scene, add Redshift proxy object referencing ProxyB.rs
- Export this setup to another Redshift proxy (ProxyA.rs)
- Create new scene with Redshift proxy object referencing ProxyA.rs
- Open Project Asset Inspector (Window > Content Browser > Project Asset Inspector)
- Observe that only ProxyA.rs is listed, ProxyB.rs is missing
Expected Behavior:
The Project Asset Inspector should recursively scan Redshift proxy files to detect nested proxy references and list all dependencies.
Actual Behavior:
Only first-level proxy files are detected. Nested proxies are not discovered, resulting in incomplete asset collection when moving projects between workstations.
SDK Investigation:
I've been exploring the Cinema 4D SDK to programmatically detect these nested dependencies. Using the SDK, I can access proxy materials and textures:
def main() -> None:
doc = c4d.documents.GetActiveDocument()
objs = doc.GetObjects()
for obj in objs:
print(obj[c4d.REDSHIFT_PROXY_MATERIAL_LIST])
print(obj[c4d.REDSHIFT_PROXY_MATERIAL_TEXTURES])
This successfully retrieves the proxy material and texture lists, showing references like:
ProxyOfProxyOfProxyTest.c4d:__RSC4D Default Material
RedshiftProxyTest.c4d:__RSC4D Default Material
Questions:
- Is there a built-in way to make the Project Asset Inspector recursively detect nested Redshift proxy dependencies?
- Can c4d.documents.GetAllAssetsNew() be used to discover these nested proxy files?
- Is there an SDK approach to programmatically traverse the proxy dependency chain and ensure all nested assets are collected?
Workaround:
Currently manually copying nested proxy files alongside projects, but this requires knowing which nested dependencies exist beforehand.
Has anyone implemented a solution for detecting and bundling nested Redshift proxy dependencies? Any guidance would be greatly appreciated.
Thank you for your assistance.