McManning / BlueGraph

Visual Scripting Framework for Unity
MIT License
237 stars 30 forks source link

Editor Usability Issue - non-preferential ports are automatically connected #28

Open McManning opened 3 years ago

McManning commented 3 years ago

When dragging off a port and connecting a new node - it doesn't prefer ports of the same type over other ports that can accept the value. Instead it just picks the "first" that works.

Use Case: I have an execution flow data type on nodes - but some nodes accept any basic object type (e.g. debug loggers). Since that object type port was added to the node first, it's the first to respond to the request for a connection when instantiating a new node thus creates an incorrect connection.

Instead - the logic should be something like:

  1. Aggregate all ports that could connect to the port we're dragging off from
  2. If any are of the same type, pick that first
  3. If any are of inherited types, pick those next
  4. Pick first of whatever is left over.
McManning commented 3 years ago

NodeView.GetCompatibleInputPort and NodeView.GetCompatibleOutputPort would be the two places this needs to be fixed.