Handling Large Graphs - protospatial/NodeToCode GitHub Wiki
Best Practices → Handling Large Graphs
Breaking Down Complex Blueprints
-
Identify Natural Boundaries
- Logical functional groups
- Independent operations
- Reusable sequences
- Data processing stages
-
Refactoring Strategies
- Collapse distinctive functionality into dedicated functions where possible
- Collapse repetitive execution flow patterns into macros
- Collapse other functionality into a composite (collapsed) graph that may not work in a function or macro (eg. delays, custom events, etc.)
Translation Approaches
-
Incremental Translation
- Translate core functionality first
- Add supporting systems gradually
- Test each component individually
- Integrate pieces systematically
-
Partial Translation
- Identify performance-critical paths
- Translate compute-heavy sections
- Keep simple logic in Blueprints
- Balance maintenance needs
[!NOTE] Not everything needs to be in C++. It's likely fine to keep other less intensive systems in Blueprints if they don't benefit from translation. Unreal Insights is your friend!