Melhores práticas gerais
A seguir estão algumas práticas recomendadas gerais que recomendamos que todos os desenvolvedores sigam ao criar um projeto Unreal Engine para Realidade Mista.
Construtores
Se você precisar do equivalente a um "construtor" em plantas, use o script de construção da Unreals. A principal vantagem sobre o uso de eventos "BeginPlay" é que o script do construtor também é executado no "editor". Na maioria das vezes, os valores podem ser armazenados em cache logo no início ou até mesmo no momento da compilação.
Nota
Você pode encontrar mais informações de suporte para scripts de construção em nossa visão geral de extensões de editor.
Botões e texturas 3D
É natural pensar no desempenho ao criar ou planejar o uso de botões 3D em aplicativos de realidade mista. No entanto, nem tudo tem que ser feito de malhas para ser percebido como 3D. Você tem a opção de usar o Paper2D com texturas cuidadosamente criadas para obter essa aparência 3D. Isso funciona muito bem para botões que "parecem" 3D, mas são apenas imagens photohopped em um quad. Uma versão extravagante destes é chamada de sprite.
Variantes
Use Variantes Irreais em cenários em que você está criando uma cena com várias configurações de objeto em tempo de execução. As variações podem incluir a mudança de materiais ou malhas.
Animação
Aproveite o componente Spline (não o componente Spline "Mesh") e os nós da Linha do tempo se estiver criando muitas "animações interacionáveis".
Comunicações
Use um Level Blueprint se estiver tendo problemas para encontrar objetos dinamicamente ou usar muita largura de banda para se comunicar entre vários atores e plantas. Lembre-se, Unreal Engine 4 não é como Unity, nem tudo tem que estar dentro de um componente. Os Level Blueprints são uma forma perfeitamente válida e recomendada de simplificar a comunicação entre múltiplos intervenientes. As referências de objetos podem até ser "armazenadas em cache" na inicialização no OnBeginPlay do Level Blueprint.
Estado global
Muitas vezes, você precisará armazenar o estado específico do nível, como pontuação, dados de nível, informações específicas do jogador ou qualquer outra coisa que não pertença a um objeto específico. Não negligencie o GameMode. A maioria das pessoas esquece que ele existe, mas o GameMode pode ser criado por nível, e conter dados específicos para cada nível.
Otimizando Blueprints
Se você estiver achando seus blueprints muito lentos, deixe a Unreal "nativizar" seus blueprints antes de recorrer à reescrita do código em c++. Tente usar a nativização automática antes de criar sua própria solução personalizada.