Skip to main content

Connections & Flow

Master the art of connecting nodes to create complex, flowing animation sequences. Learn about different connection types, flow control, and advanced connection techniques.

🔗 Understanding Connections

Connections are the lines that link nodes together, defining the flow of execution in your animation graph. They determine the order and timing of animations.

Connection Types

Execution Connections

Control the flow of execution between nodes.

[Trigger] ──→ [Animation] ──→ [Wait] ──→ [Effect]

Properties:

  • Source Node - Node that triggers the connection
  • Target Node - Node that receives the trigger
  • Connection Type - Execution, Data, or Event
  • Priority - Execution priority

Data Connections

Pass data between nodes.

[Timer] ──→ [Condition] ──→ [Animation]
│ │
└─ Duration ─┘

Properties:

  • Data Type - Type of data being passed
  • Data Value - Actual data value
  • Validation - Data validation rules
  • Conversion - Automatic type conversion

Event Connections

Send events between nodes.

[Button] ──→ [Event] ──→ [Animation]
│ │
└─ Click Event ─┘

Properties:

  • Event Type - Type of event
  • Event Data - Event payload
  • Target - Event target
  • Priority - Event priority

🎯 Creating Connections

Basic Connection

  1. Hover over a node's output port
  2. Click and drag to another node's input port
  3. Release to create the connection
  4. Verify the connection is valid

Connection Validation

The system automatically validates connections:

  • Type Compatibility - Ensures compatible data types
  • Node Compatibility - Ensures nodes can work together
  • Circular Dependencies - Prevents infinite loops
  • Required Parameters - Ensures all required data is provided

Connection Properties

Right-click on a connection to access properties:

  • Connection Type - Change connection type
  • Data Mapping - Map data between nodes
  • Condition - Add execution conditions
  • Delay - Add execution delay

🌊 Flow Control

Sequential Flow

Execute nodes one after another.

[Start] ──→ [Animation 1] ──→ [Animation 2] ──→ [Animation 3]

Use Cases:

  • Step-by-step sequences
  • Ordered animations
  • Sequential effects
  • Choreographed movements

Parallel Flow

Execute multiple nodes simultaneously.

[Start] ──→ [Animation 1]

└──→ [Animation 2]

└──→ [Animation 3]

Use Cases:

  • Simultaneous animations
  • Complex effects
  • Multi-object animations
  • Synchronized sequences

Conditional Flow

Execute different paths based on conditions.

[Start] ──→ [Condition] ──→ [Animation A]
│ │
└─── False ─┴──→ [Animation B]

Use Cases:

  • Branching logic
  • State-based animations
  • Conditional effects
  • Dynamic behavior

Loop Flow

Repeat sequences of animations.

[Start] ──→ [Animation] ──→ [Wait] ──→ [Loop] ──→ [Animation]
│ │
└─────────── Loop Back ──────────────┘

Use Cases:

  • Repeating animations
  • Idle animations
  • Continuous effects
  • Pattern sequences

🎨 Advanced Connection Techniques

Connection Splitting

Split a single connection to multiple targets.

[Trigger] ──→ [Animation 1]

└──→ [Animation 2]

└──→ [Animation 3]

How to Create:

  1. Create the first connection
  2. Right-click on the connection
  3. Select "Split Connection"
  4. Drag to additional targets

Connection Merging

Merge multiple connections into one.

[Trigger 1] ──→ [Animation]
[Trigger 2] ──→ [Animation]
[Trigger 3] ──→ [Animation]

How to Create:

  1. Create multiple connections to the same target
  2. Right-click on the target node
  3. Select "Merge Connections"
  4. Configure merge behavior

Connection Filtering

Filter connections based on conditions.

[Trigger] ──→ [Filter] ──→ [Animation]
│ │
└─ Condition ─┘

Filter Types:

  • Value Filter - Filter by data value
  • Type Filter - Filter by data type
  • Time Filter - Filter by timing
  • Custom Filter - User-defined filter

Connection Delays

Add delays to connections.

[Trigger] ──→ [Delay] ──→ [Animation]
│ │
└─ 0.5s ────┘

Delay Types:

  • Fixed Delay - Constant delay time
  • Random Delay - Random delay range
  • Conditional Delay - Delay based on condition
  • Dynamic Delay - Delay based on data

🔄 Data Flow

Data Types

Different types of data can flow between nodes:

Primitive Types

  • Float - Decimal numbers
  • Integer - Whole numbers
  • Boolean - True/False values
  • String - Text data

Vector Types

  • Vector2 - 2D vectors
  • Vector3 - 3D vectors
  • Vector4 - 4D vectors
  • Quaternion - Rotations

Unity Types

  • GameObject - Unity objects
  • Transform - Transform components
  • Color - Color values
  • AudioClip - Audio assets

Custom Types

  • Custom Objects - User-defined objects
  • Enums - Enumeration values
  • Structs - Custom data structures
  • Classes - Custom classes

Data Conversion

Automatic conversion between compatible types:

[Float] ──→ [Vector3] ──→ [Color]
1.0 (1,1,1) White

Conversion Rules:

  • Float to Vector - Replicate value
  • Vector to Float - Use magnitude
  • Color to Vector - Extract RGB values
  • String to Number - Parse string value

Data Validation

Validate data before it reaches nodes:

[Input] ──→ [Validator] ──→ [Animation]
│ │
└─ Invalid ─┴──→ [Error Handler]

Validation Types:

  • Range Validation - Check value ranges
  • Type Validation - Check data types
  • Format Validation - Check data format
  • Custom Validation - User-defined validation

🎭 Event System

Event Types

Different types of events can be sent between nodes:

Animation Events

  • Animation Started - When animation begins
  • Animation Completed - When animation ends
  • Animation Paused - When animation pauses
  • Animation Stopped - When animation stops

Trigger Events

  • Trigger Activated - When trigger fires
  • Trigger Deactivated - When trigger stops
  • Trigger Condition Met - When condition is satisfied
  • Trigger Condition Failed - When condition fails

Custom Events

  • User Defined - Custom event types
  • System Events - System-level events
  • External Events - Events from external systems
  • Debug Events - Debug and logging events

Event Handling

Handle events in your animation graphs:

[Event] ──→ [Handler] ──→ [Response]
│ │
└─ Event Data ─┘

Handler Types:

  • Event Listener - Listen for specific events
  • Event Filter - Filter events by criteria
  • Event Router - Route events to different handlers
  • Event Aggregator - Collect multiple events

Event Broadcasting

Broadcast events to multiple targets:

[Event] ──→ [Broadcaster] ──→ [Target 1]
│ │
└───────────┴──→ [Target 2]

└──→ [Target 3]

Broadcasting Types:

  • Direct Broadcast - Send to specific targets
  • Broadcast All - Send to all connected nodes
  • Conditional Broadcast - Send based on conditions
  • Delayed Broadcast - Send after delay

🎨 Visual Connection Design

Connection Styles

Customize the appearance of connections:

Line Styles

  • Solid Line - Standard connection
  • Dashed Line - Conditional connection
  • Dotted Line - Data connection
  • Thick Line - High priority connection

Connection Colors

  • Blue - Execution connections
  • Green - Data connections
  • Orange - Event connections
  • Red - Error connections
  • Purple - Custom connections

Connection Animations

  • Flow Animation - Animated flow along connection
  • Pulse Animation - Pulsing connection
  • Glow Effect - Glowing connection
  • Particle Effect - Particle flow along connection

Connection Labels

Add labels to connections for clarity:

[Trigger] ──→ [Animation]
│ │
└─ "On Click" ─┘

Label Types:

  • Execution Labels - Describe execution flow
  • Data Labels - Describe data being passed
  • Event Labels - Describe events being sent
  • Custom Labels - User-defined labels

🚀 Performance Optimization

Connection Efficiency

Optimize connections for better performance:

Minimize Connections

  • Use fewer connections when possible
  • Combine similar connections into groups
  • Remove unused connections regularly
  • Optimize connection paths for efficiency

Connection Caching

  • Cache frequently used connections
  • Pre-calculate connection values
  • Use connection pooling for dynamic connections
  • Optimize connection validation

Memory Management

Manage memory usage of connections:

Connection Cleanup

  • Remove unused connections automatically
  • Garbage collect old connections
  • Limit connection count per node
  • Use connection pooling for dynamic connections

Data Optimization

  • Minimize data transfer between nodes
  • Use efficient data types when possible
  • Cache frequently used data
  • Optimize data conversion

🔧 Troubleshooting Connections

Common Issues

Connection Errors

  • Invalid Connection - Check node compatibility
  • Missing Data - Ensure all required data is provided
  • Type Mismatch - Verify data types match
  • Circular Dependency - Check for infinite loops

Performance Issues

  • Too Many Connections - Reduce connection count
  • Heavy Data Transfer - Optimize data being passed
  • Frequent Validation - Cache validation results
  • Memory Leaks - Clean up unused connections

Debugging Tips

  • Use Debug Mode - Enable connection debugging
  • Add Breakpoints - Pause execution at connections
  • Log Connection Data - Log data being passed
  • Visualize Flow - Use flow visualization tools

Debug Tools

Connection Inspector

Inspect connection properties and data:

  • Connection Type - Type of connection
  • Data Flow - Data being passed
  • Execution Order - Order of execution
  • Performance Metrics - Connection performance

Flow Visualizer

Visualize the flow of execution:

  • Execution Path - Path of execution
  • Data Flow - Flow of data
  • Event Flow - Flow of events
  • Performance Hotspots - Performance bottlenecks

🎉 What's Next?

Now that you understand connections and flow:

📚 Learn More

🎯 Start Creating


🎊 Flow mastery achieved! You're ready to create complex animation sequences!

Let's explore animation types! Check out the Animation Types guide!