Como fazer MULTIPLAYER na UNITY em 2022? Netcode for GameObjects
Вставка
- Опубліковано 9 лют 2025
- 💡cursoprogramac...
Use o cupom PAIS25
Vamos experimentar o novo sistema de multiplayer na Unity, o Netcode for GameObjects. Sistema que substitui o Unet. Lançou a versão 1.0 recentemente e resolvi testar suas funcionalidades. Vamos fazer a configuração inicial, sincronizar o movimentos dos jogadores e instanciamento de prefabs.
Asset utilizado: assetstore.uni...
Copie esses links no package manager. Tirar o espaço depois de https
Samples: https ://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop.git?path=/Packages/com.unity.multiplayer.samples.coop#main
ParrelSync: https ://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync
Eu sou o Gabriel Barbosa, formado em Jogos Digitais, desenvolvedor de jogos e neste canal busco compartilhar um pouco do meu conhecimento e experiência com desenvolvimento e programação na Unity.
🔔 Não esqueça de se inscrever e ativar as notificações para não perder nenhuma atualização.
Se você é desenvolvedor júnior, ou se está começando do zero absoluto, eu tenho um conteúdo completo que vai te ensinar as melhores técnicas de desenvolvimento na Unity! Feito para quem deseja investir na carreira de dev ou quer apenas desenvolver como um hobby.
👉 Confira o passo a passo que vai te ensinar a dominar as principais funções da Unity com facilidade: cursoprogramac...
🖱️ Me acompanhe também nas redes sociais:
Instagram: / highlevelgamesbr
Facebook: / highlevelgamesbr
Twitter: / gabrieelbarbosa
Discord: / discord
Todos os links: linktr.ee/High...
Contato e-mail: gabrielgamedev @ gmail .com
Cool Rock - Take the Lead de Kevin MacLeod está licenciada sob uma licença Creative Commons Attribution (creativecommon...)
Origem: incompetech.com...
Artista: incompetech.com/
Breakdown - Take the Lead de Kevin MacLeod está licenciada sob uma licença Creative Commons Attribution (creativecommon...)
Origem: incompetech.com...
Artista: incompetech.com/
C-Funk - Funkorama de Kevin MacLeod está licenciada sob uma licença Creative Commons Attribution (creativecommon...)
Origem: incompetech.com...
Artista: incompetech.com/
A todos que viram o vídeo recentemente assim como eu e não estava sincronizando o movimento, o problema é na destruição do script, não se pode destruir um network behaviour que faz parte de um componente, ao invés disso você pode criar um network behaviour que destroi os componentes a não serem utilizados
void Update()
{
if (!IsOwner)
{
return;
}
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
transform.Translate(new Vector3(horizontal, 0, vertical) * speed * Time.deltaTime);
if (Input.GetKeyDown(KeyCode.Space)) {
_rb.AddForce(new Vector3(0f, 10f, 0f), ForceMode.Impulse);
}
}
então para solucionar deixe sua função de movimento mais ou menos assim
EU TAVA PROCURANDO UM TUTORIAL ASSIM FAZ MESES!!!!! MUITO OBRIGADOOOOO
Faz um curso de multiplayer mano, é algo que falta no mercado. A maioria usam o Photon, mas ele é limitado, por causa dos planos.
To começando no photon fusion e realmente tem pouca coisa...apanhando para fazer poucas coisas, apoio a recomendação para multuplayer.
Também uso photon, e tem poucos tutorias ensinando, ultimamente usando o recurso do pessoal do Blackthorn pro, quem tem um curso na udemy.
Muito bom. Consegue fazer um tutorial de MatchMake e lobby? Por exemplo como Criar salas, definir quantidade de players, como ver o placar etc. Essas coisas básicas de multiplayer.
Achei massa o "multiplayer", poderia fazer uma série!!!!!!!!!
MUITO OBRIGADO por apresentar o Parrel Sync, salvando minha pele com o Photon aqui kkkk.
Excelente video!
Eu com certeza assistiria e agradeceria demais se voce fizesse uma serie de tutoriais mostrando como usar o Netcode, fazendo um jogo do zero
As principais coisas que eu gostaria de aprender são como fazer pvp, dois ou mais players se enfrentando, em um plataformer shooter ou topdown shooter por exemplo
E como fazer inimigos, por exemplo pra um jogo coop, com o hp, movimento, etc dos inimigos sincronizado
Tbm seria mt interessante criação de salas, tanto publicas, listadas, quanto privadas (salas privadas tipo among us, onde é gerado um codigo que voce passa pros seus amigos se conectarem)
Não sei se é coisa demais, mas acho features interessantes
up!
Confira meu curso de programação de jogos na Unity cursoprogramacaodejogosnaunity.kebook.vip/
Muito bom Gabriel, ótima introdução ao tema. Foi legal conhecer mais desse novo sistema da unity, vou dar uma pesquisada depois.
Ótimo tutorial mano! Consegui ententer tudo perfeitamente! Muito obrigado, continue assim!! :D
Faz um curso somente ensinando Multiplayer, é tudo que eu preciso aprender e acredito que muita gente também
Talvez role mais coisa futuramente
Vídeo excelente cara. Continue com o projeto Multiplayer por favor.
faz uma serie.... criando um jogo multiplayer do zero. Seria bem legal!!!!
Show de bola o vídeo, tem muito pouco conteúdo sobre servidores online unity no UA-cam, e os que tem são muito complexos, mal organizados ou o cara nem explica direito oq tá fazendo. Poderia fazer uma série com Photon na Unity fazendo algum jogo com dois players, desde a parte de criar sala, procurar jogador, os dois confirmarem para começar e um fase com os dois jogando. Acho que seria muito bom, até na udemy não tem quase curso disso, tem apenas um de mirror que o cara vomita matéria. Fica minha recomendação, acho que faria muito sucesso e ajudaria muita gente :)
Quero fazer mas usando o próprio sistema da Unity. O Photon é interessante mas não curto usar assets de terceiro pq pode mudar, pode ficar sem atualização depois e tem limitações na versão gratuita. Mas posso pensar em trazer depois tb
maaano quee loko obrigado por mostrar essa nova feature. Teve continuação no canal ?
Vídeo top, trás mais desse tipo
faz a quela parada de parceria que coloca mensalidade no seu canal, pra vc fazer uma série detalhada do netcode. pago na hr até 20 por mes pago sem preucupação pra acompanhar conteudos exclusivos e bem detalhado
Tô preparando. Vai ter futuramente. Mas tô meio sem tempo pra produzir. Então pode demorar um pouco ainda
Muito foda, explicado...
Sobre sugerir.. um jogo coop, de waves.. eu até iniciei um projeto, mas to com dificuldades de colocar o inimigo pra seguir outros players
A wave foca em a penas 1 player =(
muito bom o video
tô fazendo um proj no estilo Stardew Valley, pretendo por coop tbm
Muito interessante essa Netcode
Oi, você teria esse URL atualizado? pois mesmo retirando o espaço onde sugeriu ainda sim, está apresentando erro
Pàrabens, top demais...
Valeu!
Excelente vídeo mestre Gabriel! Posso sugerir um video de tutorial?
Criar crowd usando um shader. Por exemplo em jogos eles usam animation instancing, mas me lembrei que com um shader, daria MUITO CERTO! Ou seja em uma superfície conseguiríamos ter vários!
Tipo público de jogo de futebol?
@@HighLevelGames Exatamente! Porque não existe nada sobre isso na internet!
Valeu msm, acho que é o primeiro tutorial em português que vejo sobre esse novo sistema, acho que o photon ficou muito popular, mas um sistema da própria unity fazia falta. Um outro sistema que acho muito confuso é o unity DOTS, há alguma chance de ter um vídeo focado nesse sistema no futuro?
Assim como vc, TB acho confuso rs
Já pensei em trazer mas não consegui fazer nada prático ainda
Como posso visualizar o meu ping ?
Não consigo sincronisar o movimento dos tanques, quando tento, aparece a mensagem de erro NullReferenceException: Object reference not set to an instance of an object
Top! faz um Curso só sobre multiplayer online.
Com relação ao hosting desse sistema, a gente pode contratar qualquer serviço posteriormente?
Esse metodo tenho que pagar algo?? Tem limete de quantas pessoas posso colocar simultaneamente no servidor??
Esse serviço da Unity é pago. O limite gratuito é de 100 usuários simultâneos. Procura sobre o Mirror, totalmente gratuito
@@HighLevelGames Amigo, eu quero criar um jogo que seja multiplayer local, mas que seja um contra o outro e sem dividir a tela tlgd, tipo cada um em seu celular como era o Minecraft antigamente tlgd, tem como fazer isso com a Unity??
Gabriel, o meu provedor de internet não permite que eu libere as portas do roteador, existe alguma outra alternativa que eu possa usar pra funcionar o multiplayer na unity? alguns jogos online permitem que eu use o NGROK como soluçao, tem como fazer algo parecido?
como eu faço para adicionar mais tanque? por exemplo ter 5 pessoas jogando
Video Bom de mais!!!
Tenho um problema com o meu projeto:
Meu Unitty.Netcode nao funciona nada =(
Aparece que o namespace Netcode nao existe
Uma duvida !! tem a possibilidade de eu pegar um projeto meu já finalizado e transformar ele em Multiplayer ??
como fazer pra selecionar o host onde ue quero entra
Gostaria de ver mas tutorial de Animation Rig da Unity.
nao consigo adicionar o pacotes do link, e tirei o espaco dps do https, alguem sabe como resolver?
Gostei bastante amigo.
Mas isso me lembrou um curso de um inglês que vende os mesmo prefabs e resources bem similares.
Esses assets são de um projeto da Unity
Seria interessante mostrar como limitar a quantia de jogadores que poderia entrar no host. :)
A qualidade do vídeo está muito boa, qual CODEC você utilizou?
mano, meu jogo ta com problema serio cara, os players estão normais, eles andam e aparecem eles andando, cada um controla seu Player, mas quando uma pessoa entra no server, o player que entrou no server n consehue se mecher, que porra e essa?
void Update()
{
if (!IsOwner)
{
return;
}
h = Input.GetAxis("Vertical");
v = Input.GetAxis("Horizontal");
Vector3 move;
Vector3 movePOSI = transform.forward * v + transform.right * h;
Vector3 novaPOSI = new Vector3(movePOSI.x, 0, movePOSI.z);
character_c.Move(novaPOSI * vel_player * Time.deltaTime);
}
}
mano, eu acho q a unity bugou os scripts cara, AAA e os players estão com o NetworkTransform, entao a unity deve ter realmente atualizado algo ai
Você tem um curso de programação com unity usando o sistema multiplayer abordado nesse vídeo?
Tenho não
justamente na exata hora que eu pensei putz preciso pesquisar sobre isso aparece esse vídeo ahauahau como que pode
Li teus pensamentos
@@HighLevelGames só pode hauhauh
uma dúvida, acha que vale a pena fazer o core do projeto inteiro pra depois implementar esse sistema?
Eu acho que multiplayer tu tem que fazer o projeto já pensando nisso. Pq vc precisa saber o que vai ser sincronizado, o que vai rodar só no cliente, vai rodar a partir do servidor, etc
High Level, você saberia me indicar alguma biblioteca para multiplayer na Unity que suporta webgl? Todas que tentei estão deprecated ou são pagas como a photon quantum
Não vejo impedimento pro sistema próprio da Unity ou o mirror não funcionar em web
Salve mano, eu consigo andar no 1° client, mas no segundo o Player não move... Sabe como resolver?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Netcode;
public class PlayerMovement : NetworkBehaviour
{
// Start is called before the first frame update
void Start()
{
}
public override void OnNetworkSpawn()
{
if (!IsOwner)
{
Destroy(this);
}
}
private void FixedUpdate()
{
if (Input.GetKey(KeyCode.W))
{
transform.position += Vector3.forward * 60 * Time.fixedDeltaTime;
}
}
}
Esse é o script que tá no prefab do player
Fiz tudo igual ao vídeo, mas quando chega no minuto 13 do vídeo, onde deveriam estar com os movimentos sincronizados, não está sincronizando. Adicionei o script de Client Network Transform e tal... Alguém pode dar um help?
eu ativei o debug e descobri que os objetos estavam com mesmo ID e isso meio que bloqueava a sincronização
@@angelodeveloper Vou testar aqui.
@@Joao-hr3dk então, eu meio que não achei a solução ainda, sei que o object global hash, lá no script network object está igual, e também o nome do prefab quando instancia é o mesmo, ramdomizando essas duas propriedades ao instanciar deve resolver, eu vou mexer agora também, se tiver discord ou algo do tipo me avisa pra gente ir se ajudando
@@Joao-hr3dk Descobri o erro, não se pode destruir o script o script de movimento, ao inves disso é só fazer a verificação no começo da função pra ver se é owner se não dá return e não faz nada
@@angelodeveloper Tentei resolver pra caramba e não consegui. Parabéns por ter resolvido =D Porém abandonei já este projeto teste, pois consegui aprender fazendo outro projeto próprio. O bom é que seu comentário fica aqui para quem tiver dificuldades no futuro. Show =D
Eu queria aprender como se faz os códigos para multiplayer sem ter que usar Mirror ou Photon para isso. Pegar os códigos do zero mesmo e desenvolver.
Estuda backend. E aí tu faz a Unity se comunicar com o seu servidor. O backend vc pode fazer em qualquer linguagem, framework, etc
Esse multiplayer só funciona se os dois jogadores estiverem conectados na mesma rede?
Não. Ele conecta direto pelo IP. Vou mostrar num próximo vídeo como fazer a conexão usando um servidor intermediário. Aí os jogadores podem estar em qualquer lugar
nao consigo baixar os 2 links
preciso instalar o github?
Não precisa. Tem que adicionar o link pelo package manager da Unity, e retirar o espaço que tem depois do http
Boa noite amigo ensina como mostra a mensagem que sempre aparece no Debug Log quando conecta um gamepd através de script.
Como assim? Quer mostrar aonde?
@@HighLevelGames Algo simples como se fosse uma mensagem igual aparece em alguns consoles e tem uns jogos que são compatíveis com gamepad que aparece uma mensagem na tela sempre quando conecta um controle.
@@HighLevelGames Na tela do game usando o Void Update para que isso seja acontecido todo momento quando um controle for conectado e desconectado.
Ah sim. Entendi. Com o sistema novo é fácil de fazer isso pq tem um evento que chama quando conecta um dispositivo. No sistema padrão não sei. Tenho que dar uma pesquisada
@@HighLevelGames Pow faz um tutorial sobre isso estou desenvolvendo um jogo igual a esse de tank mas estou tentando deixar compatível com os gamepad genérico.
multiplayer onde vc joga com vc mesmo, quem foi o gênio q inventou isso?, kkkkkkkkkkkkkk
Eu vou levar esse comentário seu como uma piada. Mas se vc entendeu que esse sistema só dá pra jogar consigo mesmo, sinto muito
Está dando erro ao colar a URL do Git
Qual deles? Pro youtube aceitar o link eu tive que colocar um espaço depois do https. Quando vc for colocar o link lá no package manager, remove esse espaço. E a opção pra adicionar é no sinal de + na janela do package manager e depois em "add package from git URL"
@@HighLevelGames eu finalmente conseguir resolver este problema de colar o link. Tive que instalar o aplicativo Git e agora deu certo
nao consigo baixar os assets
Pq não? O que acontece?
@@HighLevelGames Opa mano, consegui aqui depois de um sofrimentinho... mas agora quando eu vou sincronizar e eu mexo o Player no editor da Unity que está em host o clone que está em cliente da erro [Netcode] Behaviour index was out of bounds. Did you mess up the order of your NetworkBehaviours?... E não sincroniza, sabe como resolve?
Fala Gabril, blz cara? Teria como no netcode ou outro como alteruna , instanciar assetbundles vindos por url de algum BD ?