Technical Guidelines - Dynamo Scripts
Technical Guidelines for Submitting Dynamo Scripts
These guidelines define the technical, structural, and quality standards for submitting Dynamo scripts to the RD Studio Creator Program. Our goal is simple: publish reliable, production-ready automation that professionals can run safely in real projects.
Following these guidelines doesn’t guarantee automatic approval. Every submission is reviewed for quality, usability, performance, and originality. We’re not trying to create extra bureaucracy - we need consistent standards so we can test, support, and publish your work responsibly.
Quick Navigation
- What We’re Looking For
- Common Rejection Reasons (Fail Fast)
- Compatibility & Setup
- Graph Structure & Readability
- Inputs, Outputs & UX
- Packages & Dependencies
- Quality, Safety & Performance
- Submission Requirements
✅ What We’re Looking For
We’re all about quality over quantity. Strong Dynamo submissions usually share the traits below.
✅ Allowed - Standalone Scripts (If They’re Complete)
A single script can be accepted if it provides clear value on its own, has clean UX, and includes the required documentation and dependencies list.
✅ Required - Professional, User-Ready Automation
Scripts must be practical for real project use - clear inputs, predictable results, and minimal setup. If a script requires the user to guess inputs, edit nodes, or troubleshoot missing steps, it’s not ready for publishing.
✅ Required - Original Work
Only submit your own original scripts. Republished, lightly modified, or rebranded scripts from other authors are not accepted.
Common Rejection Reasons (Fail Fast)
- ❌ Script fails to run on the declared Revit/Dynamo version
- ❌ Hardcoded file paths, usernames, machine-specific directories, or missing external files
- ❌ Uses paid, private, or unclear package dependencies without approval and documentation
- ❌ No clear inputs/outputs, no instructions, or unreadable graph
- ❌ Risky behavior without warnings (deletes elements, overwrites parameters, modifies large selections silently)
- ❌ No sample file when one is required to understand or test the workflow
- ❌ No video file when one is required to understand or test the workflow
Compatibility & Setup
We require compatibility details so we can test your script reliably and reduce support issues after publishing.
- Declare Compatibility: Clearly state the Revit version(s) the script supports
- Environment: Specify if the script is intended for Dynamo in Revit or Dynamo Player
- Python Preference (Recommended): When possible, we prefer custom Python nodes over external package dependencies. This helps ensure long-term stability in case packages are deprecated, removed, or significantly changed.
Graph Structure & Readability
Hard Requirements
- Use a clean, readable layout with consistent spacing and alignment
- Group related nodes (use Groups with clear titles)
- Remove dead code, unused nodes, and experimental branches
Strongly Recommended
- Add short notes for non-obvious logic and key decisions
- Avoid overly long wires crossing the entire canvas when possible
- Name custom nodes clearly (if used) and keep them organized
Inputs, Outputs & UX
Hard Requirements
- Inputs must be obvious and centralized (one input area is preferred)
- Use clear input labels (example: "Target Category", "Parameter Name", "Prefix Text")
- Outputs must be visible and understandable (example: result list, count, or status message)
- If the script modifies the model, include a clear warning note near the Run area
Strongly Recommended
- Provide safe defaults where possible
- Add a short "How to use" block inside the graph using Notes
- Include clear success/failure messaging (example: "0 elements found", "Completed", "Missing parameter")
Packages & Dependencies
Packages are allowed. We just need transparency so users can run your script without guessing, and so we can support it long-term.
Hard Requirements
- List all packages used (package name + version)
- Avoid paid, private, or invite-only dependencies unless explicitly agreed in advance
Strongly Recommended
- Prefer Out-of-the-Box (OOTB) nodes when possible
- Popular community packages are generally acceptable as long as they are stable and documented
- Avoid dependencies that are likely to break compatibility across versions
Quality, Safety & Performance
Hard Requirements
- No hardcoded paths (use user selection, relative logic, or clearly documented setup steps)
- Handle empty selections and missing parameters gracefully
- Do not require the user to edit the script to run it (unless clearly stated and justified)
- Avoid destructive actions without explicit warnings (delete, overwrite, bulk modify)
Strongly Recommended
- Minimize heavy geometry operations when possible
- Filter early, reduce list sizes, and avoid unnecessary conversions
- Provide a lightweight sample file if the workflow needs context
Python Nodes (If Used)
- Python nodes are allowed
- Include short comments inside the code to explain inputs, outputs, and key logic
- Avoid obscure dependencies that users cannot install easily
Submission Requirements
- .dyn file
- Video recording showing how the script works on the Sample .rvt file
- Sample .rvt file (required when the script needs a specific setup to test)
- Short description explaining what the script does and where it’s useful
- Environment: Dynamo or Dynamo Player
- Dependencies list (packages used, if any)
All submissions are reviewed manually. Feedback or revision requests are part of the process.
Ready to Submit?
Submit your work using our form. If you’re unsure whether your script is a fit, include a short note and we’ll review it.
Questions?
Email us at support@rdstudio.co