Loading…
Loading…
Every row is a custom property (or family of properties) you can set in Blender. The Feature column is the matching option on rileyb3d.com/pipeline — include that feature in your generated script if you need the handler.
Add properties under Object Properties → Custom Properties on meshes, empties, or other objects. Names accept kebab-case or snake_case in exported GLB extras.
| Property | Value / example | Notes | Pipeline feature | Area |
|---|---|---|---|---|
| object-type | physics | Mesh becomes RigidBody3D. Rigid body registration calls ImpactSoundManager only when that autoload exists (otherwise no-op). | Physics object | Object types |
| weight / mass | — | Float, default 1.0 | Physics object | Object types |
| material-type | — | wood, metal, concrete, grass, gravel, water, carpet | Physics object | Object types |
| interact-prompt | — | Custom use text | Physics object | Object types |
| object-type | pickup or item | Bundled processor does not spawn world pickups; hook your own after _convert_to_object (search, dialog, etc.). | Pickup (documented) | Object types |
| object-type | inspect | Prefer read-id on a mesh plus the read_id cross feature so the mesh becomes a readable document. | Inspect (documented) | Object types |
| object-type | door | StaticBody3D + door.gd | Hinged door | Object types |
| open-angle | — | Degrees, default 90 | Hinged door | Object types |
| open-speed | — | Default 3 | Hinged door | Object types |
| door-lock | — | Boolean | Hinged door | Object types |
| key-id | — | String | Hinged door | Object types |
| door-group | — | String | Hinged door | Object types |
| interact-prompt | — | String | Hinged door | Object types |
| material-type | — | wood or metal for audio | Hinged door | Object types |
| object-type | sliding_door | StaticBody3D + sliding_door.gd | Sliding door | Object types |
| slide-distance | — | Default 1.5 | Sliding door | Object types |
| slide-speed | — | Default 3 | Sliding door | Object types |
| slide-direction | — | right, left, up, down, forward, back | Sliding door | Object types |
| door-lock, key-id, door-group, interact-prompt | — | Same idea as hinged door | Sliding door | Object types |
| object-type | animated | Loop / NLA-style driver | Animated (loop) | Object types |
| animation / anim | — | Animation name | Animated (loop) | Object types |
| animation-speed / speed | — | Multiplier | Animated (loop) | Object types |
| anim-channel | — | Integer, ties to switches | Animated (loop) | Object types |
| env-sound | — | Optional loop tied to animation when switch-driven | Animated (loop) | Object types |
| object-type | npc | NPC rig + dialog hooks | NPC | Object types |
| npc-id | — | Required | NPC | Object types |
| npc-name | — | Optional display | NPC | Object types |
| npc-voice | — | Optional | NPC | Object types |
| interact-prompt | — | Optional | NPC | Object types |
| object-type | radio | Interactable radio | Radio | Object types |
| env-sound | — | Audio file | Radio | Object types |
| env-volume, env-distance, env-attenuation | — | Optional 3D audio tuning | Radio | Object types |
| object-type | cloth | Mesh → SoftBody3D. Apply transforms in Blender before export. Top row of verts (max Y) pinned automatically. | Cloth (SoftBody3D) | Object types |
| object-type | turb (or turbulence / wind) | Empty that perturbs nearby cloth pins. | Turbulence emitter | Object types |
| object-type | search | StaticBody3D + searchable.gd | Searchable container | Object types |
| item-id-array | — | Comma list; supports counts like key:3 | Searchable container | Object types |
| interact-prompt | — | Default Search | Searchable container | Object types |
| search-once | — | Boolean | Searchable container | Object types |
| search-sound | — | Audio file | Searchable container | Object types |
| object-type | savekiosk | Mesh should carry emission for the highlight state used in Scrapconomy. | Save kiosk | Object types |
| object-type | player-start (aliases: player_spawn, playerstart, …) | Marks spawn point for player controller lookup. | Player spawn | Object types |
| trigger-type | level_transition | Area3D level change on enter | Level transition | Trigger types |
| target-level / level | — | Scene path or name | Level transition | Trigger types |
| trigger-type | save_zone | Aliases: save-zone, autosave | Autosave zone | Trigger types |
| material-type | wood, metal, concrete, grass, gravel, water, carpet | Surface tag for footsteps / impacts. | Material type (footsteps) | Cross-cutting |
| footstep | (same values as material-type) | Legacy alias for material-type. | Material type (footsteps) | Cross-cutting |
| switch-id | — | On MeshInstance3D — string or numeric legacy; attaches light_switch.gd or animation_switch.gd | Switch (mesh) | Cross-cutting |
| start-on | — | Boolean | Switch (mesh) | Cross-cutting |
| anim-channel | — | If set, uses animation_switch.gd | Switch (mesh) | Cross-cutting |
| anim-bounce | — | Boolean | Switch (mesh) | Cross-cutting |
| interact-prompt | — | String | Switch (mesh) | Cross-cutting |
| read-id | — | String id that readable.gd uses to pick content. | Readable (read-id) | Cross-cutting |
| env-sound | — | Audio path. Optional env-volume, env-distance, env-attenuation. Skipped when object-type is radio. | Environment sound | Cross-cutting |
| omni-sound | — | Non-positional loop. Optional omni-volume. | Omni sound | Cross-cutting |
| uv-scroll | — | Enables scroll. Optional scroll-direction: x, y, xy, diagonal. | UV scroll | Cross-cutting |
The rileyb3d pipeline builder does not generate handlers for: decal, floor-number plate, dark zone, spawn zones, negative spawn zones, patrol zones, bake flag, material-override string, transmission (glass), lights plus flicker, or scatter. They may still exist in the full Scrapconomy trigger_processor.gd if you want to copy them by hand. chunk-volume and volumetric lights are also not in the stock processor yet.