Open77.appearance

Runs inside the game process. Reads and presentation are local; anything that changes shared state has to go through the server.

client runtime7 functionsMarkdown

apply

GAME

Open77.appearance.apply(snapshot)

Applies a previously captured appearance snapshot to the local player.

Requires player.appearance.edit. The runtime validates the schema, build, catalog digest, gender, option identities, choice bounds, and duplicates before touching the game.

Parameters

  • snapshottablerequired

Returns

  • true on success, otherwise false
  • reason

Registered in ResourceHost.cpp as LuaAppearanceApply (line 6770).

Open77.appearance.capture()

Captures the local player's complete validated appearance snapshot.

Requires player.appearance.read. The snapshot is bound to schema version 1, game build 2.31, a catalog digest, gender hash, and at most 256 head/body/arms options.

Returns

  • table { schemaVersion, gameBuild, catalogDigest, gender, options }, or nil
  • reason

Registered in ResourceHost.cpp as LuaAppearanceCapture (line 6769).

Open77.appearance.finishCommit()

Finishes the current appearance commit transaction.

Requires player.appearance.edit. Call after a successful apply/persistence flow so the native editor can release its commit state.

Returns

  • true on success, otherwise false
  • reason

Registered in ResourceHost.cpp as LuaAppearanceFinish (line 6771).

isOpen

GAME

Open77.appearance.isOpen()

Whether the local appearance editor is open.

Requires player.appearance.read; returns false when the permission or backend is unavailable.

Returns

  • boolean

Registered in ResourceHost.cpp as LuaAppearanceIsOpen (line 6768).

open

GAME

Open77.appearance.open([options])

Opens the local Cyberpunk appearance editor.

Requires player.appearance.edit. The optional value may be a mode string or { mode = string }; ripperdoc is used by default.

Parameters

  • optionsstring|tableoptional

Returns

  • true on success, otherwise false
  • reason

Registered in ResourceHost.cpp as LuaAppearanceOpen (line 6767).

Open77.appearance.switchBodyFamily([arg2])

Starts a guarded body-family transition.

Starts a guarded transition to the requested body family and optionally resumes the native editor afterward. It requires player.appearance.edit; completion is consumed with takeBodyFamilyTransition.

Parameters

  • arg2booleanoptional

Registered in ResourceHost.cpp as LuaAppearanceSwitchBodyFamily (line 6772).

Open77.appearance.takeBodyFamilyTransition()

Consumes the pending body-family transition result.

Consumes the pending body-family transition result once, returning its serialized payload or nil while no result is ready. It requires player.appearance.edit.

Returns

  • value
  • reason (when the first is nil)

Registered in ResourceHost.cpp as LuaAppearanceTakeBodyFamilyTransition (line 6773).

For agents and LLMs: this page as Markdown · llms.txt · llms-full.txt