For example, when I wait for one "process frame" Area3D.GetOverlappingAreas() functions correctly. However, calling it without waiting yields incorrect results.
using Godot;
using System;
using BP.GameConsole;
public partial class TestNode : Node3D
{
[Export] private PackedScene PackedScene;
public override async void _Ready()
{
TestTarget a = PackedScene.CreateOnStage<TestTarget>(this, new Vector3(0.5f,0,0));
await ToSignal(GetTree(), SceneTree.SignalName.ProcessFrame);
if (a.Area3D.GetOverlappingAreas().Count > 0)
{
GameConsole.Instance.DebugLog("OK!");
}
}
}