Quick answer: Godot 4 save_resource crashing with stack overflow on circular references? Default save serializer recursively walks references - break cycles or use ResourceUID strings.

Item references Container references Item. Save crashes; project file is now corrupt.

Reference by UID string

Store res://path or uid://abc string; resolve at load. Breaks the cycle in serialization.

Or restructure ownership

One side owns; the other references by ID. Trees, not graphs.

Check before save

Recursive cycle detector before save_resource. Refuse to save corrupt structures.

“Serializers don't handle cycles by default. Cycles are a data structure choice.”

Most resource cycles come from convenience. The fix is restructuring; the engineering cost is one-time.

Related reading