Godot Version
4.2.1.stable.official
Question
I have two nodes communicating through each other by emitting and awaiting signals like so:
Node1.gd
signal signal1
%Node2.signal2.emit(data)
var response = await signal1
Node2.gd
signal signal2
var response = await signal2
%Node1.signal1.emit(data)
Node2 successfully recieves signal2 as emitted by Node1. But when Node2 emits signal1 to Node1, it never recieves anything.
%Node1.signal1.emit(data)
is run, as any code placed after the line runs as expected. But Node1 is left awaiting for signal1 forever. I can also access other Node1 properties from within Node2 by using %Node1
, so the unique identifier seems to be working.
Is there something about either signals or await I’m misunderstanding here? I can’t quite wrap my head around why this is happening.