Atualizado - Janeiro de 2023
Para ativar os recursos da Fase 4, defina no seu .map.txt:
[map]
mapModVersion=4
useStandardShader=1
useStandardShader=1: Ativa o gráfico melhorado com shaders padrões (PBR básico).url=...: Adiciona link clicável na tela de seleção.
Use objetos vazios (Empty ou Triângulos) no Blender com o nome _utree123_ (onde 123 é o ID da árvore nativa).

Exemplos de IDs de árvores:
_utree0_ a _utree9_: Árvores genéricas._utree10_: Palmeiras.Você pode substituir texturas por materiais PBR nativos do jogo (Asfalto, Calçada) sem precisar configurar shaders complexos no Blender.
Crie um arquivo .config.txt junto da textura. Exemplo: rua.png.config.txt.
[config]
replaceMaterial=1
material=asphalt/asphalt011
keepTexture=1
keepTexture=1: Mantém sua cor/desenho, mas aplica o brilho/normal map do material nativo.material: Caminho do material nativo.Exemplos de asfalto com material nativo:

Use _wetsurface_ no nome do objeto 3D para ele ficar molhado na chuva.
Isso dá um efeito de reflexo realista.

Crie uma textura com final snow.png (ex: asfalto.png -> asfalto_snow.png). O jogo trocará automaticamente quando nevar.
Isso permite criar cenários de inverno sem precisar editar o 3D.

Use um plano com nome _water1_.
Escala da onda: Adicione _scale10_, _scale50_, _scale100_ ao nome para ajustar o tamanho das ondas.

O sistema de Prefabs permite instanciar objetos complexos (como postes, bancos, prédios) sem duplicar a memória geométrica. O modelo é carregado uma vez e replicado.
Pasta: prefabs na raiz do mod.
Estrutura:

Arquivo de definição (nome.txt):
[config]
useCulling=1
[prefab]
model1=objetos/poste.3ds
Para usar no mapa, coloque um Empty/Cubo com o nome do arquivo txt do prefab como prefixo.
Ex: Se o arquivo é meuposte.txt, use meuposte como nome do objeto no Blender.
Preenche áreas automaticamente com grama ou árvores.
Crie uma pasta vegetation dentro de tiles.

Arquivo de configuração define densidade, espaçamento e quais objetos usar (árvores nativas ou prefabs).
[random_vegetation]
keyword=sogramas
spacing=10
useRandomSpacing=1
radius=50
keyword: Nome do objeto no Blender que define a área (bounds).spacing: Distância média entre objetos.O jogo fará uma varredura (Raycast) na área definida por bounds (cubo invisível) para plantar a vegetação no chão.

É possível trocar os ônibus do tráfego colocando novos modelos na pasta aibuses_v1.

Você pode colocar subpastas para diferentes empresas ou tipos de ônibus.
Use arquivos .bus simplificados para o tráfego.
Cuidado: Não exagere na quantidade de modelos para não estourar a memória em celulares! Cada modelo novo de ônibus consome bastante RAM.
Fim da Fase 4!