Skip to content

sc_owned_v1.remove_build

Remove a retained caller-owned build placement through existing entities despawn; ticket 0 on refusal, SCO_OK is initiation only.

sco_result (*)(sco_plugin *, uint64_t, uint64_t *)

Service index

Property Value
Symbol sc_owned_v1.remove_build
Record ID sc-owned-v1-remove-build
Service game.owned
Table sc_owned_v1
Version macro SC_OWNED_VERSION_1_0
Packed table version 65536
Since / availability size >= 24; 1.0
Complete member extent (x64 bytes) 24
Table size (x64 bytes) 56

Header source

sco_result (*remove_build)(sco_plugin* self, uint64_t entity_id, uint64_t* out_ticket);
Remove a retained caller-owned build placement through existing entities despawn; ticket 0 on refusal, SCO_OK is initiation only.

BAD_ARG invalid/released self or arguments; NOT_FOUND foreign/stale authority; UNAVAILABLE missing/partial/null prerequisite method; FAILED changed seat; TOO_MANY full tracking. Underlying refusal propagates; SCO_OK removal is initiation only.

Absent table: query_service NOT_FOUND; prerequisite operations may be UNAVAILABLE.

Explicit retained entities ownership while loaded; NPC authority is actors-only. Owner-scoped receipts, caller outputs; fixed global bounds of 1024 each, no cross-boundary allocation.

Game thread only; WRONG_THREAD elsewhere. No recursive reentry.

No caller callbacks. Existing game-pack primitives only.

No recursive reentry.

Ordinary unload removes retained placements/NPCs through existing hooks and clears receipts. No across-reload persistence; retained-provider faults require restart and skip resource hooks.

Status labels are copied verbatim from the catalogue: direct is native access; typed-wrapper is wrapper-backed; restricted is a subset/adaptation; unsupported means no supported route is established. No status implies universal safety.

Language Catalogue status Source evidence / wrapper tokens
c direct include/sc_owned.h
(*remove_build)
cpp direct include/sc_owned.h
(*remove_build)
csharp unsupported docs/design/owned-removal.md
C# game.owned is unsupported
lua unsupported docs/design/owned-removal.md
Lua game.owned is unsupported

None identified in the catalogue; this is not proof none can exist.

ABI pins prove layout, not semantic behavior or a live game session.