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. Os pacotes tornam o processo geral de construção de mundos mais rápido e ergonômico, mas também ajudam na consistência, deduplicação, colaboração e versionamento:
- Atualize facilmente todas as cópias de um pacote para a versão mais recente, ou apenas atualize cópias específicas.
- Configure 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 o histórico completo 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 que um modelo esteja "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 depois ter as cópias de espaço reservado atualizadas automaticamente à medida que publica versões mais detalhadas.
Criar pacotes
Você pode criar um pacote a partir de qualquer objeto único ou qualquer ramo pai e filhos de objetos. Se você quiser criar um pacote para um único objeto, adicione-o a um agrupamento Model primeiro para que você possa adicionar, remover ou escalar objetos filhos dentro do pacote mais tarde, sem quebrar o pacote.
Para criar um pacote:
Na janela Explorer ou no viewport 3D, clique com o botão direito do mouse no(s) objeto(s) que 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 jogos do grupo.
Clique em Enviar.
Após a conversão ser concluída, o objeto recebe um símbolo de "cadeado" 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 ative AutoUpdate na janela Propriedades. Note como o ícone muda para indicar que o pacote está definido para atualizar automaticamente.
Inserir pacotes
Para inserir um pacote que ainda não existe no local atual, você deve inicialmente inseri-lo pelo Toolbox:
- Em 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.
- Em Criações ⟩ Pacotes do 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 que você exclua todas as cópias dele mais tarde.
Modificar pacotes
Você pode editar pacotes e seus filhos assim 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 alterações 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 alterações 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 tornará as configurações padrão do pacote. Em qualquer determinada cópia de um pacote, esses valores de atributo podem ser alterados em uma base por instância, e essas alterações são notadas através de itálico em negrito. Quando as cópias do 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 alterações em qualquer pacote aninhado antes de poder publicar alterações em seu pacote pai, pois publicar o pai marcaria-o como atual/não modificado e conflitaria com as modificações do pacote aninhado.
Scripts de pacote
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 ou não.
- 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 sob ele se tornam somente leitura com um hyperlink para modificar.
Publicar alterações 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 do pacote em todo o lugar e em todos os jogos. 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 alterações em um pacote:
Na janela Explorer ou no viewport 3D, clique com o botão direito do mouse na cópia modificada e selecione Publicar para Pacote.
Se uma cópia de pacote tiver a autoatualização ativada, ela imediatamente recebe a versão atualizada ao abrir o lugar que as 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 de 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 clique no botão Enviar.
Atualizar cópias desatualizadas
Você pode atualizar cópias desatualizadas de pacote para a versão mais recente ou pode continuar a usar a versão mais antiga.
Na janela Explorer ou no viewport 3D, localize cópias desatualizadas pelo símbolo de "download". Você também pode selecionar a cópia desatualizada no viewport 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 um jogo. 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 quaisquer lugares do jogo abertos; isso evita que outra instância não salva de um lugar sobrescreva suas atualizações.
- Na janela Explorer ou no viewport 3D, clique com o botão direito do mouse no pacote desejado e selecione Atualizar Todos.
- Escolha todos os lugares no jogo ou algum subconjunto de lugares e clique em Atualizar.
Atualizações automáticas
Para facilitar a sincronização, você pode configurar 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 ou no viewport 3D, expanda a árvore de hierarquia 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 atualizações automáticas apenas ocorrem quando o pacote pai é atualizado.
Compartilhar e níveis de acesso
Você pode conceder permissão a amigos, jogos, grupos ou funções específicas de usuários de grupos para que possam usar seus pacotes livremente em suas criações. Para mais informações sobre acesso a ativos, veja Privacidade de Ativos.
Para alterar as permissões do pacote para um colaborador, como um amigo ou grupo:
Na janela Explorer, Toolbox ou Gerenciador de Ativos, 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 que você deseja conceder permissão para usar seu pacote e, em seguida, escolha um nível de permissão.
Permissão Descrição Usar & Ver O colaborador pode usar e ver (mas não editar) as versões atuais e anteriores do pacote. Uma vez que você forneça a um colaborador essa capacidade, não pode revogar o acesso a uma cópia que ele já inseriu em seu jogo; revogar acesso impede nova inserção ou atualizações de pacote, mas as cópias do pacote em seu modelo de dados permanecem intactas. Editar O colaborador pode usar, ver e editar as versões atuais e anteriores do pacote, incluindo publicar alterações nele.
Reverter alterações do pacote
Em vez de desfazer uma série inteira de alterações no pacote uma a uma, você pode reverter alterações não publicadas em uma única ação, restaurar um pacote para uma versão anterior ou reverter alterações para configurações específicas.
Reverter alterações não publicadas
Para desfazer uma série inteira de alterações 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 no viewport 3D.

Clique com o botão direito do mouse em uma única cópia modificada e selecione Desfazer Alterações para o Pacote, ou selecione várias cópias (pelo menos uma delas modificada), clique com o botão direito e selecione Desfazer Alterações para Pacotes Selecionados.
Restaurar para versão publicada
Para restaurar um pacote para uma versão publicada anteriormente:
- Na janela Explorer, Toolbox ou Gerenciador de Ativos, 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 para cada versão publicada, incluindo a data e hora da publicação, junto com quaisquer descrições das alterações.
- Clique na marca de seleção ao lado da versão que você deseja restaurar e clique em Enviar.
Reverter configurações
Para reverter qualquer atributo de configuração para o seu padrão, selecione Redefinir no menu de opções de seu atributo na seção Atributos da janela Propriedades.

Comparar versões de pacotes
Quando um pacote tem várias versões, você pode comparar as alterações entre 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 mudanças de 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 viewport 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 alterações entre sua cópia local e a versão mais recente. Use os dois menus suspensos para comparar diferentes versões.

Após selecionar versões:
Para comparar as renderizações visuais do modelo raiz, se aplicável, selecione a guia Visão Visual e ajuste o controle da câmera para o ângulo desejado. Os controles são sincronizados entre as visualizações:
- Panela a câmera usando cliques do mouse à esquerda.
- Gire a câmera usando cliques do mouse à direita.
- Aproxime-se e afaste-se da câmera com o scroll do mouse.
- Recentre usando o atalho de teclado F.
Para comparar propriedades e atributos de uma instância, selecione a instância e a guia Propriedades.
Para comparar diferenças de script para um pacote que é um script ou contém scripts, use a guia Script.