Create a server for your Unity game using .NET Core

Sdílet
Vložit
  • čas přidán 29. 08. 2024

Komentáře • 251

  • @revraitah
    @revraitah Před 2 lety +114

    Never used C# outside of Unity. This is a really mind blowing content for me. Please keep on continuing the series!

    • @SashokDa
      @SashokDa Před 2 lety +5

      Same

    • @GameDevNerd
      @GameDevNerd Před 2 lety +20

      You're definitely missing out on a really, really big and amazing world of C#. Learning C# via Unity definitely seems to create a lot of bad habits for junior devs and I notice people who have never stepped outside of Unity usually have great, big gaps in their understanding of C# and OOP ... for example, junior devs who have worked with Unity for 1 to 3 years will often make every single thing a MonoBehaviour, even when that's a terrible idea, and won't know how to write a regular C# class of their own and simply instantiate it with a constructor. So I often have to provide intense, focused training for junior devs to fix this and fill the gaps. You'd be surprised how many of them think int and float are the only primitive data types and can't distinguish between value vs reference types (structures vs classes) or where they live. I wholeheartedly recommend everyone reads a traditional C# programming book and practices writing some console apps, because Unity tutorials generally only show bad ways to use a tiny part of the C# language to complete a sketchy and flimsy feature. Otherwise people will have a huge struggle trying to learn to put their Unity knowledge into a real game that can scale up and be maintained.

    • @Pete107
      @Pete107 Před 2 lety +5

      The history of C# (.NET actually) is quite interesting.
      They've gone from being platform specific (Windows) to full cross-platform with the introduction of .NET Core, performance has also seen a massive improvement.
      Don't let the frameworks put you off however, the main thing to keep in mind now is to go for anything that is .NET 6 + (.NET 7 to be released later this year which will include MAUI which is something I've been keeping my eye on for some time)

    • @littleduck985
      @littleduck985 Před 5 měsíci

      Wow, you mean that a widely known Object-Oriented Programming language is used for more things than making games in a single game engine? TOTALLY MINDBLOWING

  • @rutchjohnson
    @rutchjohnson Před 2 lety +47

    I know it’s important to have a tutorial for every section of each new step but I think it’s SUPER important to see the grand scope of a project as quickly as possible. So new coders can visualize all the steps and how they interconnect.
    Excellent tutorial! I hope you create more in this vein in the future :)

    • @Tarodev
      @Tarodev  Před 2 lety +18

      That's what I was thinking. I don't think there is something like this on the internet right now and it should be super handy for somebody wanting to see it from start to finish. It shows how to piece it all together as well as a bunch of points to google and learn.

  • @Kneesoks
    @Kneesoks Před 2 lety +10

    I've been working on Java web APIs for coming on 5 years now and never really understood the root of how it works because it never really mattered for getting my tasks done. Funny how the place I learn about how it all works is on a guide video for my hobby projects.
    As always, love the stuff you put out. Big fan of your style of teaching and how you assume I have some knowledge or at least am capable of getting that knowledge if necessary.

    • @Tarodev
      @Tarodev  Před 2 lety +6

      That's the exact attitude I wish for from my viewers. That they're okay for me to glance over something and to google it for more info.

    • @ewwitsantonio
      @ewwitsantonio Před 2 lety +3

      @@Tarodev Yes I really appreciate your pace! It's perfect for my skill level and experience.

  • @nati7728
    @nati7728 Před 2 lety +9

    The final step most of these tutorials leave out is actually hosting a server. I hope you get into that at the end of this series!

    • @ewwitsantonio
      @ewwitsantonio Před 2 lety +1

      Agreed. Would be nice to see this deployed and what the cost/speed of the servers would be in an affordable tier. I've thrown some .NET web APIs on free tier Azure but it is not ideal for anything beyond small tests.

    • @matthewmathis62
      @matthewmathis62 Před 2 lety +1

      Yeah, Microsoft Azure would be cool!
      I think I did this a long time ago and had a website. I think I owe them money, actually.... *hides head*

  • @haim96
    @haim96 Před 2 lety +4

    lot's of " .Net core 6 in 2\3\4\100 hours full course" videos out there and i learned far more in this 24 minutes video! thanks!

    • @trashcaster
      @trashcaster Před 2 lety

      Cause Tarodev is a boss! It's always easy to follow along with his videos because he breaks it down in layman's terms effectively, and has enough humor to make it an enjoyable experience

    • @verified_tinker1818
      @verified_tinker1818 Před 2 lety

      I've yet to find a good, up-to-date .NET course that isn't stretched to infinity and beyond. They're designed for people completely new to programming, which makes them a slog if you aren't. And oftentimes, even if you replicate the code and environment exactly, what works in the tutorial may break on your PC. Chasing down a fix through StackOverflow for technology you don't understand is a pain and a turn-off. This applies to the official documentation, even.

  • @KG-id3hk
    @KG-id3hk Před 11 měsíci +1

    I spent 3 weeks searching for a solution like this.. 3 weeks!! I love your tutorial so much, its so similar to how Laravel works except this is in C# which is just that beautiful to do.
    Thank you so much!!

  • @WarlordMSM
    @WarlordMSM Před 5 měsíci +1

    I have been working for companies as a programmer for about 5 years and your videos are exactly what was missing for someone like me to get into a new tool as fast as possible. I will check out your channel if you have any video for BaaS techs.

    • @Tarodev
      @Tarodev  Před 5 měsíci +1

      I've been hugely into BaaS over the last two years, but unfortunately no content. Glad you enjoyed the video :)

  • @HotCod
    @HotCod Před 2 lety +5

    This was exactly the video I was looking for today with exactly the right level of detail for me, much appreciated!

  • @melekRebai
    @melekRebai Před 2 lety +1

    Who is a web dev and is enjoying this content ?
    For me because I'm new to game dev and frankly the mindset for game dev is totally different from web dev, i find this video super enjoyable because i know and deeply understand what is he taking about compared to advanced game dev stuff where i feel a bit lost, not the programming part, that's easy but the part about game design, modeling, shaders, million options and toggles in unity editor

    • @Tarodev
      @Tarodev  Před 2 lety

      Glad you enjoy the web dev side of things :)

  • @IgorStojkovic
    @IgorStojkovic Před 2 lety +24

    Instead of having a class library project outside Unity and copying the built DLL into Unity there are two other solutions one can try:
    1. Create a SharedLibrary folder within Unity and create an assembly definition file so Unity treats it as a separate c# project. Now in the standalone solution you can also create a SharedLibrary project and inside its csproj file just define that it should link in all the files from the SharedLibrary folder inside Unity. Now both Unity and standalone solution see the same files on the hard drive and you can change them from either place. AsmDef is important so you don't accidentally reference other code from within Unity that is not part of that folder. This is the method I used with success in the past.
    2. If you have AsmDef file in that Unity folder Unity will actually generate a csproj file for that folder in the root of the project, so you could just try to directly link that csproj inside your standalone solution. This I haven't tried.

    • @Tarodev
      @Tarodev  Před 2 lety

      Very nice!! Thanks for the info

    • @powercore2000
      @powercore2000 Před rokem +1

      I tried out the second method method, and while it worked initially it seems fragile as Visual Studio misconfigured the path of the unity csproj's corresponding dll file after being reopened. I found that instead of directly linking the csproj, link the SharedLibrary.dll from unity as a dependency for the Server solution.
      The SharedLibrary.dll should be generated in Library/ScriptAssemblies.

    • @shunpeng5700
      @shunpeng5700 Před 11 měsíci

      I use chatGPT for clearer instruction in the option 1 and it worked
      Here are the steps in more detail:
      Create a SharedLibrary Folder in Unity:
      - In Unity's Project window, right-click in the Assets folder or wherever you want to store your shared code.
      - Choose "Create" > "Folder" and name it something like "SharedLibrary."
      Create an Assembly Definition File in Unity:
      - Within the "SharedLibrary" folder, create an assembly definition file (AsmDef) by right-clicking, choosing "Create" > "Assembly Definition," and giving it an appropriate name.
      - The AsmDef file helps Unity treat this folder as a separate C# project and manage its dependencies correctly.
      Create a SharedLibrary Project in Your Standalone Solution (e.g., Visual Studio):
      - In your standalone solution (e.g., Visual Studio), create a new project that represents your shared code library. This project should not have its own source files; instead, it will link to the files in the "SharedLibrary" folder in Unity.
      Edit the .csproj File of the SharedLibrary Project (StandAlone Solution):
      - Open the .csproj file of the "SharedLibrary" project in a text editor.
      - Inside the .csproj file, you'll define that it should link in all the C# files from the "SharedLibrary" folder inside Unity. This is typically done using ItemGroup elements in the .csproj file. For example:

      - Make sure to adjust the path to match your Unity project's directory structure.
      Managing Shared Code:
      - With this setup, both Unity and your standalone solution will see the same code files from the "SharedLibrary" folder. You can make changes to these files from either place, and the changes will be reflected in both environments.
      Benefits of Assembly Definition (AsmDef):
      - The AsmDef file is crucial because it defines the scope of what code Unity should consider when building. It ensures that Unity only includes code from within the "SharedLibrary" folder and not unintentional references to unrelated code.

    • @iamtearabyte4595
      @iamtearabyte4595 Před 9 měsíci

      @@shunpeng5700 Hey, I tried following the steps written here but I'm really confused on the linking to the files in unity part because the SharedLibrary doesn't contain anything but the assembly definition and no .cs files. I think I might be just dumb, but can I get some clarification on that part?

    • @iamtearabyte4595
      @iamtearabyte4595 Před 9 měsíci

      Nvm, I managed to do it now. I should not have ignored the "This project should not have its own source files" since I thought that all the code is doing is just copying and pasting the dll to the SharedLibrary folder in unity upon compiling or something.
      If you followed the tutorial, just move the .cs files under the standalone solution to the SharedLibrary folder in unity and then rebuild the standalone solution.
      I am dumb indeed

  • @backbenchgamedev4117
    @backbenchgamedev4117 Před 2 lety +5

    Great content - keep making more - and complete this series.

  • @mementomori7160
    @mementomori7160 Před 2 lety +1

    I have a feeling that this vid will be SUPER useful

  • @mehmedcavas3069
    @mehmedcavas3069 Před 2 lety +2

    Yess. Cant wait for part 2. Could even make more tuts about that

  • @NoArtistAvailable
    @NoArtistAvailable Před 2 lety

    Very cool video, especially the bit about dependency injection helps my brain to slowly wrap around the concept.

  • @--.--
    @--.-- Před rokem

    15:50 nah this is awesome, you show a lot of different things so we can understand what to learn more

  • @rutchjohnson
    @rutchjohnson Před 2 lety +1

    Love your passion for servers too

  • @AmIDuckQuack
    @AmIDuckQuack Před 2 lety +1

    Ugh, where you were 1 month ago?)) Thx for video) ♥️

  • @tehuster
    @tehuster Před 2 lety +1

    Once again good stuff dude. Love that models can be shared.

  • @emiel04
    @emiel04 Před 2 lety

    This was a-maze-ing! You are so underrated!

  • @somedevstuff5060
    @somedevstuff5060 Před 2 lety +2

    Nice tutorial! If you're on Mac, use command 'cp' instead of 'copy'

    • @Tarodev
      @Tarodev  Před 2 lety

      I should have added that, thanks!

  • @ElboxD
    @ElboxD Před 2 lety +1

    I've been looking for this video for months! You just spiced up my weekend! Thanks mate.

    • @Tarodev
      @Tarodev  Před 2 lety +1

      Enjoy your spicy weekend!

  • @orlandoguerrero7089
    @orlandoguerrero7089 Před 3 měsíci

    This is amazing. Like REALLY AMAZING. Thanks a lot!

  • @robertsokolov7267
    @robertsokolov7267 Před rokem +1

    Just what I've needed! Thanks!

  • @sir.niklas2090
    @sir.niklas2090 Před 2 lety +1

    I love servers, I have one setup for my home, but nothing specialized for games or anything never made anything software wise but and do some server admin stuff. :D

  • @PakuBaku
    @PakuBaku Před 2 lety +1

    Thank you for the video! I'm currently learning webdev and yet I only saw nodejs and maybe python for backend solutions. Seeing a statically typed language for webdev/servers gives me new motivation to learn back end ^^'
    no front to js and python ofc

    • @Pete107
      @Pete107 Před 2 lety

      Blazor is awesome if you like typed languages for both front and back end.
      That's not to say you can't still use JS on the front-end, you can have isolated JS/CSS files for pages/components.
      Invoke JS from C# and vice versa.
      .NET has vastly improved since the .Netframework days.

  • @nikokune1395
    @nikokune1395 Před rokem +2

    You gotta make a full round based game (take a simple 2v2v2NPC-on-a-chessboard-with-obstacles match) with server authoritative logic, storing progress and player data in DB. One of the bigger problem I face, when thinking of building own backend, is IAP server side validation - so maybe another topic for you to cover with GREAT value to a lot of people, who rely on Google Play Store, where due to policies all purchases has to be through their services.. so they grab 30% of the revenue. Yay..

    • @nikokune1395
      @nikokune1395 Před rokem

      .. did I mention a tutorial about Redis cache also :D

  • @Chrisbrei2502
    @Chrisbrei2502 Před 2 lety +1

    I was waiting for that!

  • @PakuBaku
    @PakuBaku Před 2 lety +1

    Love the rant in the end btw xD

    • @Tarodev
      @Tarodev  Před 2 lety +1

      Regarding the json utility? Lol yeah, it's a huge pain

  • @danuvip
    @danuvip Před 2 lety +1

    when i needed a multiplayer tutorial the most! Thaaaaanks Taro!

  • @penguins4643
    @penguins4643 Před 2 lety +1

    Omg tysm I was just thinking about doing a multiplayer game!

  • @user-nz6ns2gp1t
    @user-nz6ns2gp1t Před 9 měsíci

    This is exactly what I needed, thank you very much!

  • @fakestiv
    @fakestiv Před rokem +2

    At 18:18 you could use "$(SolutionDir)" to avoid having to manually go all the way up to the solution directory

  • @Iboshido
    @Iboshido Před 2 lety +2

    Keep up your work and u will reach the top when it comes to Unity contant on CZcams

  • @subhajitadhikary816
    @subhajitadhikary816 Před 2 lety +1

    Hello Elf Taro, good to see you

  • @larryd9577
    @larryd9577 Před 2 lety

    Was about to complain about "Dlls", nice save.

  • @adamprokop
    @adamprokop Před 2 lety

    Love these tutorials, can't wait for more

  • @lost.250
    @lost.250 Před 2 lety +2

    Fire as always

  • @mrslake7096
    @mrslake7096 Před 2 lety

    looking forward to the next part

  • @psadicodes
    @psadicodes Před 2 lety +1

    Waiting for part two

  • @Tharky
    @Tharky Před 2 lety

    Knew all of these already, but cool tutorial! :)

  • @hamedbabamohamadi9017
    @hamedbabamohamadi9017 Před 2 lety

    This is an amazing video. Thanks a lot. I have some issues with this kind of server, and it's when we have some work with times. For example, a turned base game and a timer for changing the player's turn after its time. It could be so great if you can cover some of it.
    Cheers.

  • @rutchjohnson
    @rutchjohnson Před 2 lety +1

    TaroDev, it would be awesome if you did a series showing how to make a game like Super Auto Pets. It looks like that game emulates a massive multiplayer game by matching a player with other previously recorded players because no user interaction is needed during the game simulation.

    • @Tarodev
      @Tarodev  Před 2 lety +1

      Seems like most mobile multiplayer games are like that nowadays. Very interesting video idea!

  • @CREEPPAK
    @CREEPPAK Před 2 lety

    just what i was looking for

  • @zzayy
    @zzayy Před 2 lety +1

    Enjoyed it very much

  • @KeyboardKrieger
    @KeyboardKrieger Před 2 lety +2

    As a .net dev I highly appreciate this series. I once wrote a simple matchmaking tool and I still remember which pain the Unity part was.
    Now I'm at a point in my game where I want to implement some simple things like Highscores and struggle with the decision of trying it again or just use some premade solutions.
    Does your solution work in WebGl? Because besides unity often being "special" WebGl is the real pain in my opinion xD

    • @Tarodev
      @Tarodev  Před 2 lety +2

      It'll be perfectly fine in webGL 😊

    • @KeyboardKrieger
      @KeyboardKrieger Před 2 lety

      @@Tarodev I'll count on that mate

  • @GameDevNerd
    @GameDevNerd Před 2 lety

    This was an excellent video. I come from a low-level background and over the last 15 or so years I've never stepped into the world of servers and web apps. But lately this has been my "final frontier" I've wanted to learn, and I've been writing some desktop utilities doing various stuff with System.Net and System.Web, like scraping pages and downloading remote databases and assets. Creating my own web servers and APIs is what I've been wanting to get into next, so I can dive into the AWS platform and start providing some interesting web services and servers for games and apps. So I truly thank you for this excellent video, I'll be trying this out and trying to get my own servers running on AWS soon!

  • @the0neskater
    @the0neskater Před 2 lety +1

    Amazing video well done

  • @asembahra6187
    @asembahra6187 Před 2 lety +1

    Amazing video , filled with great information
    Thank you !

  • @kingofroms7224
    @kingofroms7224 Před 2 lety +1

    This is super amazing, Love u

  • @tjscooper
    @tjscooper Před 2 lety

    I think I would have gone with Node until seeing this.. Makes a whole lotta sense keeping the Models in a SharedLibrary.. and the Server bit in C# will keep the project, what's the word.. isomorphic? Another great lesson @Tarodev ... Cheers!

  • @yerngames
    @yerngames Před 2 lety +1

    Just what I was looking for!

  • @Foxyzier
    @Foxyzier Před 2 lety +3

    I like how you always cover everything I need. Btw will there be in the next episode how to store for example player inventory in the database?

    • @Tarodev
      @Tarodev  Před 2 lety +1

      Yes, if the next part is not too long I'll include some actual feature suggestions 😊

  • @gregoryfenn1462
    @gregoryfenn1462 Před 2 lety

    Imma have to come back to this when I get smarter

  • @JustBitsAndPieces
    @JustBitsAndPieces Před 2 lety

    love your videos, can you make a complex animation tutorial , always scared of animation with inverse kinematics , layers, events and stuff, your teaching is great

  • @Raminlich
    @Raminlich Před rokem

    Very informative Thank you so much

  • @flameprincess7313
    @flameprincess7313 Před rokem

    Marry me Q-Q I've been looking gor something like this for years. Thanks man ❤️

    • @Tarodev
      @Tarodev  Před rokem +1

      Where will we go on honeymoon?

  • @ishan9050
    @ishan9050 Před 2 lety +1

    After going through the turorial and not having any background info into it, I'd say its not something see and follow but rather creating dots kindoff concept. Introducing many streams that are untouched for devs who are in the C# environment have not stepped out of unity.

  • @Giedzilla
    @Giedzilla Před 2 lety +1

    Uploaded just at the time I needed it. How you keep doing this?

    • @Tarodev
      @Tarodev  Před 2 lety +1

      I'm right outside your window

  • @GuillaumeRivard98
    @GuillaumeRivard98 Před rokem +1

    "It's gonna make Unity shit it's pants" 😂 Best quote since Unity shit it's pants for everything all day long hahaha

  • @ewwitsantonio
    @ewwitsantonio Před 2 lety

    Awesome content! This is perfect for me. I'm familiar with .NET Web API on a basic level and use it for small tests/sample projects, but have yet to to tie into my Unity projects. Really excite to see where this goes! Looking forward to how you handle auth, and also curious if deployment will be part of the series? (you may have mentioned that already sorry if i missed it)

  • @Adiounys
    @Adiounys Před 7 měsíci

    17:00 Don't know how it is with Rider but in Visual Studio you can just open the same solution in another instance of VS. I used to debug two LAN apps this way and I had no issues with it. I suppose it works similar in game-server scenario.

  • @Dines646
    @Dines646 Před 2 lety +1

    really dope video😁

  • @LawZist
    @LawZist Před rokem

    For real time games are you using a custom server as well? great video as always!

  • @evgenkonyshock4913
    @evgenkonyshock4913 Před 2 lety +1

    19:46
    Line 21. You should not use "while(notDone) await Task.Delay(someTime)". It's such a bad practice. Proper way of doing it is "while(notDone) await Task.Yield()". What this will do is literally tell the task manager that "there is nothing to do, let cpu do some job on available thread instead.

    • @Tarodev
      @Tarodev  Před 2 lety +1

      You're right. Good pickup!

  • @haule5844
    @haule5844 Před 2 lety +1

    i love it! please make more video about it

  • @Bluejet_007
    @Bluejet_007 Před 2 lety +1

    This is a pretty solid tutorial, but it's tough to take it seriously with the elf ears.

    • @Tarodev
      @Tarodev  Před 2 lety +1

      You must absorb knowledge from even the biggest of idiots

  • @JustBitsAndPieces
    @JustBitsAndPieces Před 2 lety +1

    I like this , you are adding some great content

  • @MrZtapp
    @MrZtapp Před rokem

    As good as always

  • @Rubidev
    @Rubidev Před 2 lety +1

    Yes... Yes... Yes... YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

  • @amidriki6717
    @amidriki6717 Před 2 lety +1

    Thanks Tarodev ❤
    Please a tutorial for multiplayer with Unity 🙏🙏

    • @Tarodev
      @Tarodev  Před 2 lety +3

      Well, this is the start of it :)

  • @Dxpress_
    @Dxpress_ Před 2 lety +1

    I'm just getting started on migrating some .NET 5 APIs to .NET 6, and I had no idea they merged they Program & Startup files into one.
    That is _significantly_ better, and I wish I knew about it sooner.

    • @Tarodev
      @Tarodev  Před 2 lety

      Oh dude, it's beautiful. Might be confusing to new devs as they may not understand it's split into two sections. But yeah, much better.

  • @jackwong3000
    @jackwong3000 Před 2 lety +1

    cool! thank you!!

  • @Erwjable
    @Erwjable Před rokem

    I came across this video and found it very interesting.
    I do have a question regarding async void.
    It is adviced to not use it. Is Unity handling this differently?
    By all means, as far as I understood it always should be a Task or you might end up with other problems.

  • @counterstrike1source
    @counterstrike1source Před 2 lety +1

    Realtime multiplayer wouldnt work with this right? Like 50ms< movement changes from different players

  • @eilam9999
    @eilam9999 Před 2 lety +1

    Thank you
    on a Get function, i get this error on Swagger
    "403
    Undocumented
    Error: Forbidden"
    and on Response headers
    content-length: 0
    date: Fri,08 Jul 2022 11:49:54 GMT
    server: Kestrel
    what can I do?

  • @alexandermassart170
    @alexandermassart170 Před 2 lety +1

    Has anyone tried using the Post code in the video, every time I try from Unity I get error 400 Bad Request even though the JSON looks good. Always says I'm missing the field required

  • @ShinichiKudoQatnip
    @ShinichiKudoQatnip Před 2 lety +1

    Thank you

  • @NinhNguyen-ic4tx
    @NinhNguyen-ic4tx Před 10 měsíci

    Thank for sharing! I have a question. Is there any game server framework like Nakama that using .Net Core? It may be super helpful for the client dev like me

  • @adhdGameDev
    @adhdGameDev Před 9 měsíci

    Is this like a serverclient you can put on a pc running at home, like Minecraft (atleast back in the day) use to host your own private server?

  • @aritromukherjee8072
    @aritromukherjee8072 Před 2 lety

    I would really like this series to continue. Is implementing SignalR a good option for syncing the data? Otherwise, I am requesting a bundle of requests to the server every few milli-seconds (for a single session!). I gave up implementing SignalR for now because I could never make Microsoft.AspNet.SignalR.Client package work in Unity.

  • @larryd9577
    @larryd9577 Před 2 lety +1

    I think that ASP is hot garbagé, so I use a java backend (Spring-Boot). There is a way to share the models as well! The tooling I use is JaXB and an xsd with the definition of the models. Then generate those for the backend with an jaxb plugin triggered by an ant script and for C# i use Microsofts xsd.exe as an PreBuildEvent.

    • @Tarodev
      @Tarodev  Před 2 lety

      Larry D.... You'll need to defend that statement. Why do you think it's garbage? (I really hope you're not judging it from experience many years ago. It's a whole other beast now)

    • @Tarodev
      @Tarodev  Před 2 lety +1

      Also, every time I read your comments I'm always picturing the guy in your avatar staring at me just like that

    • @larryd9577
      @larryd9577 Před 2 lety

      I've used ASP.NET a couple of times but the overall impression I've got from it was very mediocre. In my day job we develop backends exclusively with Spring-Boot some in Kotlin but most of them in Java. Maybe that's why I'm biased towards Java backends maybe a little stockholm syndrome sprinkled on top as well. 😁

    • @larryd9577
      @larryd9577 Před 2 lety

      But staying in one ecosystem is not the worst choice one can make. But having the opportunity to develope an distributed Softwaresystem in multiple programming languages and have them work together is very cool, except if you inherit it and have to maintain it.😂

  • @user-xi3vz8ms3n
    @user-xi3vz8ms3n Před rokem

    Hi! Thanks for this awesome content! But i hawe maybe an awkward question. What can you suggest to read to get more involved into backend, servers and client - server architecture for unity developer?
    Thanks in advance!

  • @DocuFlow
    @DocuFlow Před rokem

    Excellent as usual, thank you.
    Have you ever thought of webrtc for client server comms? Asking for a friend :)

  • @DamageSoftware
    @DamageSoftware Před 2 lety

    Hey that's one great video.
    Regarding the sharing of models, I am doing something similar in my project, but instead of copying the DLL file on build I use Git Submodules for the shared code/models. Don't say it is better approach, but it kind of works for me.
    The build-in Unity json parser and httpClient is dogs**t. I cannot believe how bad they implemented it.
    I am just using newtonsoft in both API and Unity. Regarding the http client, I still cannot find good library online. The approach you are using looks nice.
    I would definitely love to see more videos from the series!

    • @Tarodev
      @Tarodev  Před 2 lety

      Git submodules you say... I'd like to know more

    • @victorlapin2080
      @victorlapin2080 Před 2 lety

      Submodules tend to play nuts with me 😆 but yeah, that's a totally valid approach

  • @Nialyah
    @Nialyah Před 2 lety +1

    This is amazing content!

  • @alexandrenicaise5162
    @alexandrenicaise5162 Před 2 lety +1

    Thank you so much for this tutorial ! I was searching for something like this for one of my project and It's a good beginning to learn 😁
    I have only a little problem. When I build my SharedLibrary and copy it in Unity as you showed us Unity tell me that He cannot find the properties... It tell me that he is "Unable to load attribute info on field SharedLibrary.Player::k__BackingField. Are you missing a reference?"
    Do you have an idea of what happening ?

    • @Tarodev
      @Tarodev  Před 2 lety +1

      Make sure if your unity project is using net standard 2, your library is also using that. Or net standard 2.1 etc. If this doesn't work pop into discord for a chat

    • @alexandrenicaise5162
      @alexandrenicaise5162 Před 2 lety

      @@Tarodev Thank you so much ! It works. I didn't thought to check which .net was using by sharedlibrary.

  • @kwasit3707
    @kwasit3707 Před 2 lety +1

    Lol at the first server image

  • @CyberNet_inc
    @CyberNet_inc Před 2 lety

    Great video! It's exactly what I needed for a school project. I have a question though.
    After I make the build, I would like that when I open the Game.exe, it starts the dotnet server by its own, and of course be able to make API calls. And if it is possible, when I close the game window, it also terminates the server process.
    It would be a huge help if you could share your thoughts on this matter. Also if there are any differences between solving this issue on Windows or Linux clarify them please.

  • @halivudestevez2
    @halivudestevez2 Před rokem

    could we .... include the Unity and the server VS Project into 1 VS Solution, and refer to that shared library?
    Just thinking...🤔🤔

  • @CheeseChuckie
    @CheeseChuckie Před 2 lety +1

    Man I gotta say I thought it was a bit weird that both our balls were tingling during that video...

  • @JimboS1ice999
    @JimboS1ice999 Před rokem

    would this setting work for a massive online game or more of a multiplayer hosting situation where a few players can get into a game?

  • @sergioprivate
    @sergioprivate Před 2 lety +1

    yesss

  • @beratcimen1954
    @beratcimen1954 Před 2 lety

    I think you can use Newtonsoft in Unity as well

  • @user-friendly_1
    @user-friendly_1 Před 2 lety

    So for unity backend we're using NOT classic REST endpoints, but just entity/Get and so on?

  • @gamepass505
    @gamepass505 Před 2 lety +1

    5:27 Yes it can.

    • @Tarodev
      @Tarodev  Před 2 lety

      Amazing! It's slowly bridging the gap and will make resharper useless one day

  • @mrslake7096
    @mrslake7096 Před 2 lety +1

    20:03 clean get post code

  • @florinf2003
    @florinf2003 Před 2 lety

    I like the video, but there is a weird orc with elf ears that is present from start to finish... Just kidding! :D Great job!

    • @Tarodev
      @Tarodev  Před 2 lety

      I like to think I'm an elf with elf ears :)

  • @hololabhololab
    @hololabhololab Před 10 měsíci

    Man how did you make this work? I'm all day struggling with .net 6.0 from the SharedLibrary.dll in Unity's project. I think it is 'cause .net in Unity is 4.7.1. So It's always throwing erros... how can i fix this?

  • @anilsolanki4861
    @anilsolanki4861 Před 2 lety

    Sir please make dependency injection video with more detail

  • @jakubreichman
    @jakubreichman Před 2 lety +1

    Well this is amazing, thanks a lot for that, didn't know this can be done so cleanly! Do you perhaps have any ETA on the second part? Would love to see that one too!

    • @Tarodev
      @Tarodev  Před 2 lety

      Hopefully it's the next video I release!

    • @jakubreichman
      @jakubreichman Před 2 lety +1

      @@Tarodev That would be great!
      If you don't mind asking, as I don't really have any experience with deploying asp.net applications, can they be simply uploaded to the web hosting services FTP that most of the people have, or do we need to rent a virtual machine in order to have a running server there that can operate those? Up until now I have actually been doing post/get implementations through PHP scripts uploaded to the hosting providers FTP that communicate with the database, but it is quite tedious to set up and this just seems like a cleaner solution. PHP Scripts can be simply uploaded to the ftp and called via HTTP request, it would be great to know if using asp.net applications would be possible to do similarly without the need of renting an extra virtual machine.
      Maybe I'm completely off with this, but I think it might be a bit of an unclear topic for others too, so it may be a good point to touch upon a bit in the next video, just to mention it briefly.
      Thanks again for making all of this, it's crazy valuable content!

    • @Tarodev
      @Tarodev  Před 2 lety +1

      @@jakubreichman they do need a virtual machine, although azure has very cost effective Web-app services which abstract all the tedious parts for you. They have a free development tier also.
      You can deploy directly to azure via your IDE, or easily setup CI using github actions or alternatives. I've always loved the Microsoft deploy workflows

    • @jakubreichman
      @jakubreichman Před 2 lety

      @@Tarodev Thanks for the tip, just made Azure account and tried deploying the first sample scene they provided with the free tier, worked great with visual studio code!
      You have no idea how well timed this video was, I was already preparing myself mentally of again making the database communication via PHP which is an actual nightmare to maintain and any changes cause so much headache and potential issues, don't get me even started on this.
      The second part video is also amazing I was just staring at the screen and wondering how easy a database implementation can actually be, and any changes to the classes are not major pain points where you can just update it and it works. Seeing it was really amazing ... You sir, just saved me a lot of nerves and precious time, thanks a lot for that! If there is anything that I could do to help you just let me know, I owe you something!

    • @Tarodev
      @Tarodev  Před 2 lety +1

      @@jakubreichman I'm glad you could work out the deployment so easily. I'm debating a part 3 at some stage where I show how to setup a deployment pipeline.
      And yeah, entity framework makes DB management an absolute cakewalk.