Entities e Components
Entenda como os Components de um item funcionam
Selecione um item clicando nele no Canvas ou na Entity tree. Em seguida, você verá seus components exibidos no painel de propriedades, à direita da tela. Itens diferentes têm components diferentes que exibem configurações específicas.

A maioria dos itens não interativos tem os seguintes components:
Transform: Define a posição, rotação e escala do item. Se o item for filho de outro item na Entity Tree, esses valores são relativos aos do parent.
GLTF: Qual modelo 3D carregar. Ele inclui o caminho local do arquivo para esse modelo 3D. Também inclui algumas propriedades para configurar colliders no modelo.
Os itens na sua scene são todos Entities. Tudo em uma scene é uma Entity; elas são os blocos de construção básicos das scenes. Itens são Entities que têm pelo menos uma posição e uma forma visível.
Adicionar components
Para adicionar Components a qualquer Entity, clique no + sinal no topo da aba de propriedades e selecione o Component da lista. Veja Tornar qualquer item smart

Você pode excluir qualquer Component de uma Entity clicando no ícone de três pontos à direita dele e selecionando Delete Component.
Criar uma Entity do zero
Para criar uma Entity nova do zero, clique com o botão direito na root Scene Entity na Entity tree, ou em qualquer outra Entity, e selecione Adicionar filho

Isso cria uma Entity vazia com apenas um Transform Component. A nova entity é uma filha da entity pai em que você clicou. Depois, você pode adicionar quaisquer outros Components que quiser a ela para moldá-la em qualquer coisa que desejar.
Components disponíveis
Os seguintes Components podem ser adicionados a qualquer Entity pela UI do Scene Editor:
Mesh Renderer: Dá à Entity uma forma visível baseada em uma forma primitiva (cubo, plano, cilindro ou esfera).
Mesh Collider: Dá à Entity uma geometria de collider invisível. Isso pode bloquear o player de atravessar o item e/ou pode torná-lo clicável. Veja collider.
Material: Define a cor, textura e outras propriedades de uma Entity que tem um Mesh Renderer Component. Veja materials.
**📔 Nota**: O item deve ter um Component **Mesh Renderer**. Isso não afeta itens com uma forma visível **GLTF**.
Visibility: Define se uma Entity está invisível.
Light Source: Adiciona uma luz à Entity.
Swap Material: Troca o material de uma Entity que tem um GLTF component. Se o modelo 3D tiver várias meshes, você pode trocar o material de cada mesh individualmente.
Audio Source: Toca um som de um arquivo de áudio na localização da Entity. Veja Sounds.
Text Shape: Exibe texto no espaço 3D. Veja Text.
Pointer Events: Marca uma Entity como clicável, exibindo uma dica de hover.
📔 Nota: O Pointer Events Component apenas fornece feedback. Para executar ações quando uma Entity é interagida, veja Tornar qualquer item smart
Multiplayer: Compartilha quaisquer mudanças que ocorram na Entity para que todos os players na scene também as vejam. Pode ser configurado para compartilhar mudanças apenas em certos components. Veja Serverless Multiplayer para mais detalhes.
Animator: Controla a reprodução de animações em uma Entity com um GLTF modelo 3D. Veja animações de modelo 3D.
Tween: Faz com que a Entity se mova, gire ou escale gradualmente ao longo de um período de tempo. Veja Mover entities.
Billboard: Faz com que a Entity sempre se gire para encarar o player. Veja Encare o usuário.
Avatar Attach: Anexa a Entity ao avatar do player, para que ela o siga por aí. Veja Anexar uma Entity a um avatar.
Video Player: Toca um vídeo dentro da scene, que pode ser exibido na Entity por meio do seu Material. Veja Reprodução de vídeo.
NFT Shape: Exibe a imagem de um NFT dentro de uma moldura. Veja Exibir um NFT.
Particle System: Emite partículas a partir da localização da Entity, para efeitos como fumaça, fogo ou brilhos. Veja Particle systems.
Virtual Camera: Define um ângulo de câmera personalizado para o qual a scene pode mudar a visão do player. Veja Camera.
Avatar Modifier Area: Altera como avatares se comportam ou aparecem para players dentro de uma região centrada nesta entity. A escala da entity define o tamanho da região. Veja Modifier Areas.
Camera Modifier Area: Força a câmera do player para primeira ou terceira pessoa dentro de uma região centrada nesta entity. A escala da entity define o tamanho da região. Veja Modifier Areas.
Script: Anexa um módulo de código personalizado à Entity, com parâmetros que você pode configurar pela UI. Veja Script component.
📔 Nota: Outros components existem no SDK que atualmente só podem ser usados via code. Você também pode criar seus próprios Custom components via code; eles não terão uma representação na UI, mas podem ser adicionados e editados via code.
Veja Combine with code para saber como editar o código da sua scene.
Observe também que uma Entity só pode conter um de cada Component. Não é possível atribuir uma segunda instância de um Component que já exista na entity. Por exemplo, você não pode adicionar dois Actions components à mesma Entity.
Smart items
Smart items também podem incluir components especiais que controlam a interatividade da Entity. Normalmente são:
Actions: Lista todas as possíveis ações que o item pode realizar.
Triggers: Determina quando as ações do component Actions são executadas.
States: Mantém o controle do estado atual do item. O state pode ser usado para lógica condicional, para disparar apenas certas ações se o item estiver em certo state.
Counter: Mantém o controle de um contador. O counter pode ser usado para lógica condicional, para disparar apenas certas ações se o valor do counter for igual/maior/menor que um valor dado.
Veja Smart items avançados para mais detalhes.
Sobre Entities e components
Tudo em uma scene é uma Entity. Todos os itens e smart items na scene são Entities.
Todas as características de uma Entity são determinadas pelos seus components. Eles definem o que a Entity é, onde ela está, como soa e como se comporta. Por exemplo, um Transform component armazena as coordenadas, rotação e escala da Entity. Um MeshRenderer component dá à Entity uma forma visível (como um cubo ou uma esfera), e um Material component dá à Entity uma cor ou textura.
Os valores dos components podem mudar ao longo do tempo. No Scene Editor, você configura os valores iniciais desses components. Mas, uma vez que sua scene está em execução, as ações do player ou a passagem do tempo podem mudar esses valores.
Por exemplo, um Smart Item de plataforma móvel tem uma posição inicial que você define por meio do seu Transform component, mas depois que as ações deste item fazem com que ele se mova, seu Transform passará a ter valores diferentes.
Veja Entities e components para uma análise aprofundada desse conceito e de como ele é usado pelas scenes do Decentraland.
Atualizado