Traits Reference
HoloScript includes a large, evolving trait inventory across multiple categories and domains. Traits are declarative annotations that add behavior to objects without writing code.
How Traits Work: Trait inventory changes as new domains are absorbed. For live counts, inspect
packages/core/src/traits/and uselist_traitsthrough MCP.
How Traits Work
object "Ball" {
@grabbable(grab_distance: 0.5)
@physics(mass: 1.0, bounciness: 0.7)
geometry: "sphere"
position: [0, 2, 0]
}All traits follow the TraitHandler pattern:
interface TraitHandler<TConfig> {
name: VRTraitName;
defaultConfig: TConfig;
onAttach?: (node, config, context) => void;
onDetach?: (node, config, context) => void;
onUpdate?: (node, config, context, delta) => void;
onEvent?: (node, config, context, event) => void;
}Trait Categories
| Category | Traits | Description | | ---------------------------------------- | ---------------------------------------------------------------------- | -------------------------------------------------- | --- | ------------------------------------- | ------------------------------------------------------------ | --------------------------------------------- | | Interaction | @grabbable, @throwable, @clickable, @hoverable, @draggable, @scalable | Hand-based interaction in VR | | Physics | @physics, @collidable, @cloth, @fluid, @soft_body, @rope | Physics simulation | | AI & Behavior | @behavior_tree, @goal_oriented, @llm_agent, @perception, @emotion | Intelligent agent behavior | | AI Autonomous | @autonomous, @swarm, @scheduler, @decision_tree | Autonomous system behaviors | | Audio | @spatial_audio, @music, @sfx, @voice | Spatial and ambient audio | | Accessibility | @screen_reader, @high_contrast, @motor_assist | Universal design traits | | AR/Spatial | @spatial_awareness, @anchor, @plane_detection, @billboard | Augmented reality | | Web3/Blockchain | @token_gated, @wallet, @nft, @smart_contract, @zora_coins | Blockchain integration | | Render Network | @render_network | Decentralized GPU rendering via RNDR | | OpenXR HAL | @openxr_hal | XR device abstraction (haptics, hand/eye tracking) | | Media | @video, @screen, @360_video, @live_stream | Media playback | | Social/Multiplayer | @networked, @voice_chat, @presence, @avatar | Social and multiplayer | | IoT/Integration | @sensor, @actuator, @mqtt, @rest_api | IoT and external integrations | | Visual | @material, @lighting, @shader, @particle, @lod | Graphics and rendering | | Advanced | @animation, @ik, @ragdoll, @procedural, @hitl | Advanced animation, generation, and HITL gates | | Economics / Web3 | @wallet, @nft_asset, @token_gated, @marketplace, @zora_coins | On-chain economies, NFT minting, token gating | | Security / ZK | @zero_knowledge_proof, @zk_private, @rsa_encrypt, @audit_log | Cryptographic privacy, ZK proofs, tamper logs | | AI Generation | @stable_diffusion, @neural_forge, @ai_texture_gen, @diffusion_realtime | Generative AI: textures, meshes, shaders | | Human-in-the-Loop | @hitl, @feedback_loop, @biofeedback | Human oversight, biometric feedback, RLHF gates |
Wisdom/Gotcha Atoms Navigation
| Resource | Link | Purpose |
|---|---|---|
| Batch 1 RFC | WISDOM_GOTCHA_ATOMS_BATCH1_RFC | Full spec + semantics + compiler checks for substrate atoms |
| 20 Atom Reference Entries | TRAITS_REFERENCE | Commit-ready signatures, gotchas, and validation rules |
| Canonical Demo | canonical-atoms-demo.holo | Cross-domain demo using 8 atoms together |
| Governance Companion Demo | governance-atoms-demo.holo | Focused demo for governance atoms 11-15 |
Extending Traits
Build your own custom traits using the Trait Extension Guide.