Eine Behavior-Variable vom Typ Object zeigt am platzierten Objekt heute fest (null). Man soll dort ein Objekt derselben Szene auswählen können.
Vereinbart (2026-09-28):
Gespeichert wird ein Verweis {"$object": "<objectId>"}; leer bleibt (null). Alte Projekte laden unverändert.
Inspector am platzierten Objekt: Dropdown mit None und allen Objekten derselben Szene (eingerückt wie die Hierarchy, das Objekt selbst inklusive).
Am Behavior-Asset bleibt (null) (ein Asset hat keine Szene).
Auch Object-Felder in Structs und Object-Items in Listen.
Im Spiel wird der Verweis zum echten Objekt; fehlt es oder ist es zerstört, ist der Wert null.
Ziel-Objekt löschen → Verweis fällt im selben Undo-Schritt weg.
Kopieren/Einfügen einer Gruppe: Verweise innerhalb der Gruppe zeigen auf die Kopien, Verweise nach außen bleiben.
Was ein Graph im Lauf hineinschreibt, landet nicht in Szene oder Savegame.
Container: ein Objekt im Container bekommt nur Objekte desselben Containers zur Auswahl.
Auswahl per Klick in der Szene (Pipette): später, fürs Erste reicht das Dropdown.
Eine Behavior-Variable vom Typ `Object` zeigt am platzierten Objekt heute fest `(null)`. Man soll dort ein Objekt derselben Szene auswählen können.
**Vereinbart (2026-09-28):**
- Gespeichert wird ein Verweis `{"$object": "<objectId>"}`; leer bleibt `(null)`. Alte Projekte laden unverändert.
- Inspector am platzierten Objekt: Dropdown mit **None** und allen Objekten derselben Szene (eingerückt wie die Hierarchy, das Objekt selbst inklusive).
- Am Behavior-Asset bleibt `(null)` (ein Asset hat keine Szene).
- Auch Object-Felder in Structs und Object-Items in Listen.
- Im Spiel wird der Verweis zum echten Objekt; fehlt es oder ist es zerstört, ist der Wert `null`.
- Ziel-Objekt löschen → Verweis fällt im selben Undo-Schritt weg.
- Kopieren/Einfügen einer Gruppe: Verweise innerhalb der Gruppe zeigen auf die Kopien, Verweise nach außen bleiben.
- Was ein Graph im Lauf hineinschreibt, landet nicht in Szene oder Savegame.
- Container: ein Objekt im Container bekommt nur Objekte desselben Containers zur Auswahl.
- Auswahl per Klick in der Szene (Pipette): später, fürs Erste reicht das Dropdown.
Done in f84defb, wiki in eadcc6c (Behaviors, Development).
A placed object shows a dropdown for an Object variable: None plus every object of the same scene, indented like the Hierarchy. Also for Object fields in structs and Object items in lists.
Stored as {"$object": "<id>"}, old projects load unchanged. The behavior asset keeps (null).
The running game resolves the reference on read. Destroyed target reads as null, a missing one shows (missing).
Inside a container only objects of the same container are offered, every placement finds its own copy.
Delete clears the reference (one undo step), paste points group-internal references at the copies, Create container and Unpack carry them along.
Found on the way: setting an override used to drop every object slot to empty. Fixed via objectPlace().
Not done: no eyedropper (dropdown only, as decided). Deleting a template object in the container editor does not clean up references in other scenes.
Tests: ./check.sh 2724 tests green, e2e 1-9/51/57 389 checks green, new e2e 57 with 5 checks, counter-checks fail as expected.
Done in f84defb, wiki in eadcc6c (*Behaviors*, *Development*).
- A placed object shows a dropdown for an Object variable: None plus every object of the same scene, indented like the Hierarchy. Also for Object fields in structs and Object items in lists.
- Stored as `{"$object": "<id>"}`, old projects load unchanged. The behavior asset keeps `(null)`.
- The running game resolves the reference on read. Destroyed target reads as null, a missing one shows `(missing)`.
- Inside a container only objects of the same container are offered, every placement finds its own copy.
- Delete clears the reference (one undo step), paste points group-internal references at the copies, Create container and Unpack carry them along.
- Found on the way: setting an override used to drop every object slot to empty. Fixed via `objectPlace()`.
Not done: no eyedropper (dropdown only, as decided). Deleting a template object in the container editor does not clean up references in other scenes.
Tests: `./check.sh` 2724 tests green, e2e 1-9/51/57 389 checks green, new e2e 57 with 5 checks, counter-checks fail as expected.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Eine Behavior-Variable vom Typ
Objectzeigt am platzierten Objekt heute fest(null). Man soll dort ein Objekt derselben Szene auswählen können.Vereinbart (2026-09-28):
{"$object": "<objectId>"}; leer bleibt(null). Alte Projekte laden unverändert.(null)(ein Asset hat keine Szene).null.Done in
f84defb, wiki in eadcc6c (Behaviors, Development).{"$object": "<id>"}, old projects load unchanged. The behavior asset keeps(null).(missing).objectPlace().Not done: no eyedropper (dropdown only, as decided). Deleting a template object in the container editor does not clean up references in other scenes.
Tests:
./check.sh2724 tests green, e2e 1-9/51/57 389 checks green, new e2e 57 with 5 checks, counter-checks fail as expected.