Para manter os ativos organizados e reutilizáveis entre sua equipe ou em vários projetos, você pode agrupar suas instâncias e convertê-las em pacotes reutilizáveis. Pacotes tornam o processo geral de construção de mundos mais rápido e ergonômico, mas também ajudam com consistência, deduplicação, colaboração e controle de versão:
- Atualize facilmente todas as cópias de um pacote para a versão mais recente, ou apenas atualize cópias específicas.
- Defina pacotes para atualizar automaticamente sempre que houver uma nova versão.
- Dê permissões de Edição ou Uso aos colaboradores sobre o conteúdo de um pacote.
- Visualize todo o histórico de versões de um pacote, compare versões e restaure versões antigas.
O fluxo de trabalho mais eficiente é criar um pacote, compartilhá-lo com qualquer colaborador e configurá-lo para autoatualização. E você não precisa esperar um modelo estar "pronto" antes de usá-lo em um pacote. Mesmo que o pacote seja um espaço reservado em cima de uma forma simples, você pode usá-lo para greyboxar seu ambiente e ter as cópias de espaço reservado atualizadas automaticamente conforme você publica versões mais detalhadas.
Criar pacotes
Você pode criar um pacote a partir de qualquer objeto único ou qualquer ramo de objeto pai e filhos. Se você deseja criar um pacote para um único objeto, adicione-o primeiro a um agrupamento Model para que possa adicionar, remover ou escalar objetos filho dentro do pacote mais tarde, sem quebrar o pacote.
Para criar um pacote:
Na janela Explorer ou na visualização 3D, clique com o botão direito do mouse no(s) objeto(s) que você deseja transformar em um pacote e, no menu contextual, selecione Converter em Pacote.
Na nova janela, preencha os detalhes do pacote. Em particular, se você estiver trabalhando em um grupo, defina a Propriedade para o grupo apropriado no qual você tem permissão para criar/editar experiências do grupo.
Clique em Enviar.
Após a conversão, o objeto recebe um símbolo de "elinho" na janela Explorer para identificá-lo como um pacote. Além disso, você pode ver um novo objeto PackageLink parentado ao objeto.

- OPCIONALSelecione o objeto PackageLink e habilite AutoUpdate na janela Propriedades. Note como o ícone muda para indicar que o pacote está configurado para autoatualização.
Inserir pacotes
Para inserir um pacote que ainda não existe no lugar atual, você deve inicialmente inseri-lo a partir da Toolbox:
- De Inventário ⟩ Meus Pacotes para pacotes que você publicou ou obteve na Loja do Criador, bem como pacotes que um amigo possui e lhe deu permissões para usar.
- De Criações ⟩ Pacotes de Grupo para pacotes publicados por membros do seu grupo (incluindo você mesmo).


Uma vez que você tenha inserido um pacote no modelo de dados de um lugar publicado, ele aparece no Gerenciador de Ativos e permanece lá mesmo se você mais tarde excluir todas as cópias dele.
Modificar pacotes
Você pode editar pacotes e seus filhos como outros objetos. Modificar pacotes desativa a autoatualização até que você publique ou reverta as mudanças.
A maioria das edições marca o pacote como modificado, embora as seguintes mudanças não sejam consideradas modificações do pacote:
- Alterar o nome do nó raiz.
- Alterar a propriedade Enabled de um nó raiz GuiObject como um ScreenGui, SurfaceGui, ou BillboardGui.
- Alterar uma referência de parte de um Weld dentro do pacote que referencia uma instância fora do pacote.
Uma vez modificado, pacotes com mudanças não publicadas recebem um ícone modificado na janela Explorer:

Adicionar ou atualizar configurações
Você pode incluir atributos de instância na raiz de um pacote para personalizar seu comportamento. Quando você publica um pacote, o conjunto atual de atributos/valores se torna as configurações padrão do pacote. Em qualquer cópia de um pacote, esses valores de atributo podem ser alterados com base em cada instância, e essas alterações são anotadas através de itálico negrito. Quando cópias de pacote são atualizadas, os valores de configuração modificados serão preservados, enquanto outros atributos serão atualizados para o valor padrão mais recente.

Pacotes aninhados
Você pode aninhar pacotes dentro de outros pacotes para manter e colaborar em hierarquias complexas, como uma série de mecânicas de veículos que podem ser modificadas independentemente do pacote pai do veículo.
Se você modificar um pacote aninhado, tanto o pacote aninhado quanto o pacote pai são considerados modificados. Você deve publicar mudanças para qualquer pacote aninhado antes de ser permitido publicar mudanças para o pacote pai, pois publicar o pai marcaria como atual/não modificado e entraria em conflito com as modificações do pacote aninhado.
Scripts de pacotes
Cada script dentro de um pacote não modificado é somente leitura e mostra uma notificação na parte superior com um hyperlink para desbloquear o script.

Clicar no hyperlink:
- Marca o pacote como modificado, independentemente de você editar o script.
- Remove a notificação/hyperlink de outros scripts dentro do pacote.
Uma vez que o pacote é publicado e movido para um estado não modificado, os scripts abaixo dele se tornam somente leitura com um hyperlink para modificar.
Publicar mudanças do pacote
Você pode publicar qualquer alteração em um pacote como uma nova versão, tornando suas atualizações disponíveis para outras cópias de pacote em todo o lugar e em todas as experiências. Não é necessário publicar um pacote modificado antes de publicar um lugar, pois a versão modificada é salva junto com o lugar para iteração futura.
Para publicar mudanças em um pacote:
Na janela Explorer ou na visualização 3D, clique com o botão direito do mouse na cópia modificada e selecione Publicar para Pacote.
Se uma cópia do pacote tiver a autoatualização ativada, ela imediatamente puxa a versão atualizada quando você abre o lugar que a contém. Outras cópias recebem um símbolo de "download" que indica que uma atualização está disponível. Você pode atualizar individualmente ou atualizar em massa todas as cópias.

- OPCIONALAdicione uma descrição das suas alterações:
- Clique com o botão direito do mouse no pacote e selecione Detalhes do Pacote.
- Na janela Configuração do Ativo, selecione Versões.
- Sob sua alteração mais recente, selecione Adicionar.
- Descreva suas alterações e, em seguida, clique no botão Enviar.
Atualizar cópias desatualizadas
Você pode atualizar cópias desatualizadas de pacotes para a versão mais recente, ou pode continuar usando a versão mais antiga.
Na janela Explorer, localize cópias desatualizadas pelo símbolo de "download". Você também pode selecionar a cópia desatualizada na visualização 3D.

Clique com o botão direito do mouse em uma cópia desatualizada e selecione Obter Último Pacote. Você também pode selecionar vários pacotes, clicar com o botão direito e Obter Último Para Pacotes Selecionados.
Atualizações em massa
O uso extensivo de pacotes pode resultar em muitas cópias de pacotes em vários lugares em uma experiência. Além de sincronização individual e atualizações automáticas, você pode atualizar todas as cópias de um pacote através de atualizações em massa.
- RECOMENDADOFeche outras instâncias do Studio com qualquer um dos lugares da experiência abertos; isso impede que outra instância não salva de um lugar sobrescreva potencialmente suas atualizações.
- Na janela Explorer ou na visualização 3D, clique com o botão direito do mouse no pacote desejado e selecione Atualizar Tudo.
- Escolha todos os lugares na experiência ou algum subconjunto de lugares e clique em Atualizar.
Atualizações automáticas
Para facilitar a sincronização, você pode definir uma cópia de pacote para atualizar automaticamente sempre que uma nova versão for publicada. A autoatualização das cópias do pacote ocorrerá quando um lugar for aberto no Studio.
Na janela Explorer, expanda a árvore hierárquica do pacote e selecione seu objeto PackageLink.

Na janela Propriedades, habilite a propriedade AutoUpdate. Se você tiver pacotes aninhados, essa propriedade se aplica apenas ao pacote pai de nível mais alto, significando que as atualizações automáticas ocorrem apenas quando o pacote pai é atualizado.
Compartilhar e níveis de acesso
Você pode conceder permissão a amigos, experiências, grupos ou papéis de usuário de grupos específicos para que possam usar seus pacotes livremente em suas criações. Para mais informações sobre acesso a ativos, consulte Privacidade de ativos.
Para alterar as permissões do pacote para um colaborador, como um amigo ou grupo:
Na janela Explorer, Toolbox, ou Asset Manager, clique com o botão direito do mouse no pacote desejado e selecione Opções do Pacote ⟩ Detalhes do Pacote.
Na janela Configuração do Ativo, selecione Permissões.
Usando a barra de pesquisa, insira e selecione um colaborador a quem você deseja conceder permissão para usar seu pacote, depois escolha um nível de permissão.
Permissão Descrição Usar & Visualizar O colaborador pode usar e visualizar (mas não editar) as versões atuais e anteriores do pacote. Uma vez que você fornece a um colaborador essa capacidade, não pode revogar o acesso a uma cópia que eles já inseriram em sua experiência; revogar o acesso impede reinserção ou atualizações do pacote, mas as cópias do pacote em seu modelo de dados permanecem intactas. Editar O colaborador pode usar, visualizar e editar as versões atuais e anteriores do pacote, incluindo publicar alterações nele.
Reverter mudanças do pacote
Em vez de desfazer uma série inteira de mudanças de pacote uma por uma, você pode reverter mudanças não publicadas em uma única ação, restaurar um pacote para uma versão anterior ou reverter mudanças em configurações específicas.
Reverter mudanças não publicadas
Para desfazer uma série inteira de mudanças não publicadas:
Na janela Explorer, localize cópias modificadas pelo ponto em seus ícones de pacote. Você também pode selecionar cópias modificadas na visualização 3D.

Clique com o botão direito do mouse em uma única cópia modificada e selecione Desfazer Mudanças no Pacote, ou selecione múltiplas cópias (pelo menos uma delas modificada), clique com o botão direito e selecione Desfazer Mudanças em Pacotes Selecionados.
Restaurar para uma versão publicada
Para restaurar um pacote para uma versão publicada anteriormente:
- Na janela Explorer, Toolbox ou Asset Manager, clique com o botão direito do mouse no pacote desejado e selecione Opções do Pacote ⟩ Detalhes do Pacote.
- Na janela Configuração do Ativo, selecione Versões. A janela exibe detalhes de cada versão publicada, incluindo a data e hora da publicação, junto com quaisquer descrições das alterações.
- Clique na marca de verificação ao lado da versão que você deseja restaurar e clique em Enviar.
Reverter configurações
Para reverter qualquer atributo de configuração ao seu padrão, selecione Redefinir no menu de opções da seção Atributos da janela Propriedades.

Comparar versões do pacote
Quando um pacote tem várias versões, você pode comparar as mudanças entre as versões usando o visualizador de diferenças. A ferramenta possui um menu de hierarquia de pacotes que indica todas as instâncias adicionadas, removidas ou modificadas entre as versões usando ícones correspondentes, incluindo os seguintes recursos:
Visão Visual mostra as diferenças visuais da renderização 3D sob diferentes posições de câmera. É a visualização padrão para pacotes com um objeto 3D (modelos, partes) como objeto raiz, e atualmente está disponível apenas para o objeto raiz.
Propriedades mostra as alterações das propriedades e atributos. É a visualização padrão para pacotes com um objeto não 3D (scripts, luzes, objetos 2D) como objeto raiz, e está disponível para todas as instâncias em um pacote.
Script mostra diferenças de script linha por linha. Está disponível para pacotes que contêm scripts, independentemente de o script ser o objeto raiz ou não.
Para comparar versões de pacotes:
Na janela Explorer ou na visualização 3D, clique com o botão direito do mouse no pacote alvo e selecione Opções do Pacote ⟩ Comparar Versões do Pacote.
Por padrão, a janela compara mudanças entre sua cópia local e a versão mais recente. Use os dois menus suspensos para comparar versões diferentes.

Depois de selecionar as versões:
Para comparar renderizações visuais do modelo raiz, se aplicável, selecione a aba Visão Visual e ajuste o controle da câmera para o ângulo desejado. Os controles são sincronizados entre as visualizações:
- Panorâmica da câmera usando cliques com o botão esquerdo do mouse.
- Rotacione a câmera usando cliques com o botão direito do mouse.
- Aumente ou diminua o zoom da câmera com a roda do mouse.
- Recentre usando o atalho de teclado F.
Para comparar propriedades e atributos de uma instância, selecione a instância e a aba Propriedades.
Para comparar diferenças de script para um pacote que é um script ou contém scripts, use a aba Script.