Gerenciar dados em um jogo é crucial para salvar o progresso, as configurações do jogador e outras informações importantes. Em C#, o Unity oferece várias opções para isso. Vamos ver as principais e como aplicá-las.
O primeiro passo para salvar qualquer coisa é saber onde salvá-la. O Unity oferece algumas propriedades para obter caminhos de arquivos em diferentes plataformas, garantindo que seu jogo funcione em Windows, Mac, Android, etc.
Application.persistentDataPath: Este é o caminho mais seguro e recomendado para salvar dados de forma persistente. Ele aponta para um diretório específico da sua aplicação onde você pode salvar arquivos de forma segura, pois o sistema operacional não os apaga. É perfeito para arquivos de save, logs e outras informações importantes do jogador.Application.streamingAssetsPath: Este caminho é para ativos que você quer incluir no build do jogo e que podem ser lidos (mas não escritos) em tempo de execução. É útil para arquivos de configuração, bancos de dados ou outros dados que não mudam.Para salvar dados simples, o PlayerPrefs é a ferramenta mais fácil e rápida do Unity. Ele funciona como um dicionário, salvando pares de chave-valor. É ideal para configurações como volume, sensibilidade do mouse, e progresso de nível.
Como usar:
PlayerPrefs.SetInt("score", 100); - Salva um valor inteiro.PlayerPrefs.GetString("username", "player1"); - Salva um valor de string.PlayerPrefs.SetFloat("volume", 0.5f); - Salva um valor decimal.PlayerPrefs.HasKey("username"); - Verifica se uma chave existe.PlayerPrefs.DeleteAll(); - Apaga todos os dados salvos.Limitações:
int, float e string. Você não pode salvar classes ou objetos complexos diretamente.