"Great customer service. The folks at Novedge were super helpful in navigating a somewhat complicated order including software upgrades and serial numbers in various stages of inactivity. They were friendly and helpful throughout the process.."
Ruben Ruckmark
"Quick & very helpful. We have been using Novedge for years and are very happy with their quick service when we need to make a purchase and excellent support resolving any issues."
Will Woodson
"Scott is the best. He reminds me about subscriptions dates, guides me in the correct direction for updates. He always responds promptly to me. He is literally the reason I continue to work with Novedge and will do so in the future."
Edward Mchugh
"Calvin Lok is “the man”. After my purchase of Sketchup 2021, he called me and provided step-by-step instructions to ease me through difficulties I was having with the setup of my new software."
Mike Borzage
November 09, 2025 2 min read

Before you hit Render, run automated scene checks. A few minutes here prevent hours of rerenders.
Automate with a quick validator script
Even a lightweight Python check in Script Manager can catch common issues and print a report to the Console. Assign it to a shortcut via Command Manager for one‑press validation before sending to Render Queue or Team Render.
# Cinema 4D Python (example: missing textures / high SubD)
import c4d, os
def iter_shaders(shader):
while shader:
yield shader
for s in iter_shaders(shader.GetDown()):
yield s
shader = shader.GetNext()
def main():
issues = []
# Missing bitmaps
for m in doc.GetMaterials():
for s in iter_shaders(m.GetFirstShader()):
if s.CheckType(c4d.Xbitmap):
path = s[c4d.BITMAPSHADER_FILENAME]
if path and not os.path.exists(path):
issues.append(f"Missing texture: {path} in material '{m.GetName()}'")
# Overly high Subdivision Surface levels in Editor/Render
def scan(obj):
while obj:
if obj.CheckType(c4d.Osds):
ed = obj[c4d.SDSOBJECT_SUBEDITOR]
rd = obj[c4d.SDSOBJECT_SUBRAY]
if ed > 2 or rd > 3:
issues.append(f"SDS '{obj.GetName()}': Editor {ed}, Render {rd}")
scan(obj.GetDown())
obj = obj.GetNext()
scan(doc.GetFirstObject())
if issues:
print("Validator report:")
for i in issues: print(" -", i)
else:
print("Validator report: No issues found.")
if __name__=='__main__':
main()
Workflow tip
Bundle checks (assets, materials, caches, render/AOV presets) in a single script and run it before every final. Document your studio’s checklist and keep it in the scene Notes or as a HUD readout.
Need the latest Cinema 4D, Redshift, plugins, or render nodes? Source them from NOVEDGE. For upgrades, bundles, and expert guidance, talk to the NOVEDGE team.
You can find all the Cinema 4D products on the NOVEDGE web site at this page.

November 09, 2025 12 min read
Read More
November 09, 2025 13 min read
Read More
November 09, 2025 2 min read
Read MoreSign up to get the latest on sales, new releases and more …