Multiplayer Inventory System that Saves and Loads - Part #1 Pickup Item - Unreal Engine 4 & 5

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ต.ค. 2024
  • เกม

ความคิดเห็น • 75

  • @Suleyk95
    @Suleyk95 7 หลายเดือนก่อน +13

    For anyone wondering if you should follow this series, YES, this is the one you're looking for (probably) if your goal is to have a basic and functional multiplayer inventory, it has containers, separated inventories for each actor, basic UI functionalities, and it saves properly. Well, and many other features I forgot or didn't add yet.
    My advice to choose a tutorial series is to go to the last episodes, see how it's working, and read the comments to see if people complain or run into issues.
    I tried with other series, and this is the best one so far and the only one getting me closer to my goal. Haven't finished it yet, but I'm close, I just wanted to come here so I don't forget to give everyone a heads up when I'm done. If you're reading this you should probably keep watching, it means I didn't come back to retract my words!

    • @caramanzilias
      @caramanzilias 6 หลายเดือนก่อน +1

      yep this is very good work! it works its understandable its a gift

    • @GrumpyMunkyGameDesign
      @GrumpyMunkyGameDesign 4 หลายเดือนก่อน +1

      @@caramanzilias You mean, unlike ryan laleys tutorial which gives up on MP replication halfway through, and has the clients inventory load the servers, this one will ACTUALLY WORK?!

    • @InvaderNatDT
      @InvaderNatDT 3 หลายเดือนก่อน +1

      You're definitely right about going to the last episodes first, I wish I knew that earlier. First Gorka, then Ryan Laley, I'm really hoping this guy does things properly. Already lost months of time having to start over on parts of my project.
      I'm actually making a single player game, but I guess I can just ignore all the 'replicating' functions used for servers and leave them as normal.

  • @lolaswift5019
    @lolaswift5019 8 หลายเดือนก่อน

    The simplest, most intuitive and well designed system. Well prepared lessons as usual. Thank you so much!

  • @Vodder7922
    @Vodder7922 ปีที่แล้ว +3

    Awesome. This is really what i have needed. Theres a lot of inventory videos on youtube, but im not really a fan of them. A lot of them use a lot of bad practices, or they are not replicated. Thanks sir :)

    • @GameDevRaw
      @GameDevRaw  ปีที่แล้ว +2

      Glad you like it, my pleasure!

    • @Vodder7922
      @Vodder7922 ปีที่แล้ว

      @@GameDevRaw If i ship the game and make a dedicated server, will the save files be saved on the server, or on every single clients pc?

    • @GameDevRaw
      @GameDevRaw  ปีที่แล้ว +2

      @@Vodder7922 the pickups/containers on the server, each players inventory local

  • @UnrealAnderson
    @UnrealAnderson 7 หลายเดือนก่อน

    You're so awesome mate!
    I was wondering if we could add on top of this series, a variation? Making an inventory system like COD: Warzone? That's attached to out loadout :)

  • @NoKapMan
    @NoKapMan ปีที่แล้ว +2

    Maybe im just dumb but i followed this to the T and could not get the text to appear when overlapped. What I have is janky but it works. Love your videos nonetheless!

    • @yirmeyah3237
      @yirmeyah3237 ปีที่แล้ว

      I'm having the same issue. Did you have any luck?

  • @GrumpyMunkyGameDesign
    @GrumpyMunkyGameDesign 4 หลายเดือนก่อน

    @GameDevRaw im having a pretty annoying issue, i followed it along and cant see where i've gone wrong, everything works and replicates EXCEPT the clients ability to pick up items. At first i was already setting an interactable actor in a line trace function i was using to pull details from the item when player looked at it since im doing First Person, worked fine, fed the variable into the Interaction call server can pick them up just fine, client couldnt, I printe stringed everything and narrowed it down to the server call to interact on key press.
    It always returns invalid on the actor check for the client, so fails at that point and doesnt progress to the interaction message call for them. Any idea what might be causing this? As a trouble shooting measure i ripped out the traces and set it up exactly the same as you did, with only difference being i mounted the collision as a cylinder to the camera, so it moved with the characters head overlapping where they look.
    Again, flawless for the server, doesnt work on client, still fails at the exact same place, the interaction call is run on server reliable as you instructed, my overlap events are set up identically, but STILL wont run on client, am playing as listen server, any ideas on how to solve this its kinda roadblocking the entire project, no point following along for hours if I cant get the client replicating properly, just odd that the actor variable passes for the server but always returns null for client. SOMEBODY HELP!
    MAJOR EDIT: Ok, so i found out the issue, for some reason setting the interaction actor off the reference of the line trace doesnt seem to work, the collision cylinder i replaced it with DOES work for the client, but! Doesnt track their head movement correctly for what i wanted it for, it does in client but not on server so i scrapped that and used a line trace and 'move' the collision to the hit location, which DOES WORK! BUT! The only way i could get it to work was to run a timer to run the line trace locally, then have a server run event to place the collision sphere at the right location so i can trigger the overlap events which worked for client as soon as i set the collision sphere to replicate. lot of hoops to jump through to get it working how i wanted and im sure theres a better way than chaining custom events along, but it works! Now the only issue is the client doesnt always see the level saved changes, works most the time but intermittently some of the items wont spawn back in properly but i think thats a timing issue since my system runs UE5 so slowly1

  • @GrumpyMunkyGameDesign
    @GrumpyMunkyGameDesign 4 หลายเดือนก่อน

    weird, my static mesh component is set to replicate, 17:03 but im not seeing the white circles, i am for the name variable, everythings set to replicate from the root through everything else, but not seeing the white circles on the pick up mesh variable, not gonna worry too much and keep following along but strikes me as odd

  • @brycenmedart4175
    @brycenmedart4175 6 หลายเดือนก่อน

    Followed to a "T". Main player (console window) shows item names upon approach. 2nd Player (popup window) does not see item names. Net Mode set as listen server and 2 players.. any thoughts?

  • @Athasin
    @Athasin 2 ปีที่แล้ว +3

    That "Show Redirectors" tip has been a godsend. Thanks so much!

  • @DavidGWilliams1981
    @DavidGWilliams1981 หลายเดือนก่อน

    Destroyed my 3rd person character when I interacted with the BP_Pickup item, but the BP_Pickup actor was still there. Not sure what I did wrong, but if this tutorial is failing on part 1 already, then fuck that shit. Why can't anyone make an inventory tutorial that actually WORKS????????????????????????????????????????????????????????????????????????????????????????? Yes, all those question marks WERE necessary.

    • @GameDevRaw
      @GameDevRaw  หลายเดือนก่อน

      If every tutorial you follow fails, its prob you..
      Look at the rest of the comments, it works... but w/e good luck!
      I can already tell you just forgot to link up a pin, it's supposed to destroy the pickup and if you didnt hook that up it destroys 'self' which is the character!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! And yes all those exclamation marks WERE necessary.

  • @cherryVision
    @cherryVision 9 หลายเดือนก่อน

    whats the point of replacing the default scene root with the new scene component at 4:30

  • @youngjojo3052
    @youngjojo3052 ปีที่แล้ว +1

    Please add some sort of equipment system to this, where the players can equip armor, helmets, weapons etc...

    • @GameDevRaw
      @GameDevRaw  ปีที่แล้ว +2

      Yes i wll do some examples when the basic setup is done

  • @MinecraftSioer
    @MinecraftSioer ปีที่แล้ว +2

    Thanks bro, this is one of the best tutorials I've taken in a while, it's exactly what I needed

    • @GameDevRaw
      @GameDevRaw  ปีที่แล้ว +3

      Thanks! I'll be picking this one back up soon and add a few more videos. Things like using / equiping items, a hotbar etc

  • @cherryVision
    @cherryVision 9 หลายเดือนก่อน

    Had an issue where I couldn't use my interacting line trace with the PickupProfile collision preset this tutorial has you create. To fix it I changed visibility to 'block', and now the pickup gets destroyed as it should

  • @1AnimeFinder
    @1AnimeFinder 7 หลายเดือนก่อน

    Tempting to follow your tutorial, but I ran into a weird little problem when player one walk over the item, the item name widget pops up for player two and everyone else when he leaves it disappear for everyone what am I doing wrong?

  • @mrdounutgames3570
    @mrdounutgames3570 8 หลายเดือนก่อน

    Do I have to do this for every character? Or does it just save to every character? Because I have multiple characters that come from the Third Person character.

  • @virtuaalruum
    @virtuaalruum 9 หลายเดือนก่อน

    Hey, title says "Multiplayer Inventory System" will it work on single-player to?
    So my plan is to make a single-player first, and later add multiplayer function

    • @virtuaalruum
      @virtuaalruum 9 หลายเดือนก่อน

      Ok, I got my answer!

    • @1AnimeFinder
      @1AnimeFinder 7 หลายเดือนก่อน

      Yes

  • @emigdioplascenciarobles3946
    @emigdioplascenciarobles3946 ปีที่แล้ว

    Yo no hablo inglés pero este tutorial me ha ayudado mucho gracias hermano... explicas todo y cada detalle.

  • @raspoutine7662
    @raspoutine7662 ปีที่แล้ว

    I mate, am just starting this awesome tuto series. Done the part 1, everything look good but still have every player can see the pickup text. I tried to debug and watched the video many times but am kind of stuck. Any hint? Much love

    • @raspoutine7662
      @raspoutine7662 ปีที่แล้ว

      I have found the problem. In the default EventGraph/EventBeginPlay of the 3rdPersonChar I put the destroy component of the interactSphere after the default setup of the controller.

  • @fexe5682
    @fexe5682 9 หลายเดือนก่อน

    Hey, I have a problem where everyone can see the widget even if only one other player is near the pickup object. Any suggestions?

    • @Suleyk95
      @Suleyk95 7 หลายเดือนก่อน

      For some reason the "is locally controlled" thing didn't work for me when trying to destroy the sphere component, so I just used that branch on the sphere collisions, if locally controlled is true then proceed with changing the visibility. That fixed it for me.

  • @avramcs
    @avramcs 11 หลายเดือนก่อน

    Thanks for the tutorials and thanks for the time to answer our questions!
    I posted a question in a comment previously but I have another question, when we use the "InteractableActor" variable, and its OverlapComponent(Mesh) function that uses it, what is the Overlap function actually assigning to the InteractableActor variable? In other words, is our Box_Trigger in the BP_Pickup ever used? I could be totally wrong, but it seems as though the InteractableActor is just a general actor, so the Box_Trigger is never used. Am I wrong here?

    • @GameDevRaw
      @GameDevRaw  11 หลายเดือนก่อน

      The box trigger is used for the overlap events. If you remove it they wont fire. You could use the mesh for that as well i guess, but the boxtrigger is also used in the Container later and just makes things a bit easier to setup imo. Also checking collision is prob a bit cheaper then checking it against a mesh

    • @avramcs
      @avramcs 10 หลายเดือนก่อน

      @@GameDevRawHello, thanks for the reply. I should have mentioned it but in my system I am using your guide along with some tweaks in order to make the items physical and able to be grabbed and thrown and later picked up by another player. My problem was that I was getting the widget to spawn whenever I overlapped/sphere overlapped the trigger box for the item however the item mesh itself would not trigger the widget after it was moved from its spawned position. I was able to fix this by rooting the trigger box and widget onto the mesh. This allows the widget to spawn in the dead center of items allowing for a more "survival" type look if you know what I mean.
      Thanks for the tutorials they have been super helpful.

  • @JabrobLamez
    @JabrobLamez ปีที่แล้ว

    Hi , can i actually makr this inventory system for a survival game not for the mp shooter one?

    • @GameDevRaw
      @GameDevRaw  ปีที่แล้ว

      Sure, just keep in mind this is saved locally. So if you want it to save online you need an online Database / cloud saves

  • @BalthsTunes
    @BalthsTunes ปีที่แล้ว

    Hi New to unreal engine and thanks for your time do you go over how to use items in the inventory then remove said used item i would love to follow this tutorial.

    • @GameDevRaw
      @GameDevRaw  ปีที่แล้ว

      Yes i will show some examples later in the series as well. ( using, equipping, hotbar. things like that )

  • @damian8051
    @damian8051 ปีที่แล้ว

    This is insanely helpful. I came here after attempting my own system and getting stuck because my interaction component was setting the visibility of widgets for everybody at once. Whats very confusing is that keyboard input on thirdPersonCharacter > cast to interactable and set widget visibility is local, but event to update visibility called from Interaction component is always replicated even without any replication events set up

    • @GameDevRaw
      @GameDevRaw  ปีที่แล้ว

      Thanks!
      It always depends on the event/function making the call ( not just with interfaces ). If the calling event is Local ( like an input event ), the function/event that is being called will also be Local. It just runs on the same instance that made the call. The same goes for a Multicast, or an event that's executed on all instances by default ( like Beginplay ). If you call another function/event from there it will automatically execute on all instances as well, no replication needed. And that's actually a big part of doing replication propperly, knowing what instance the call is made from to begin with so you can decide if you need to replicate, and how.
      You only use replication if you want to communicate between different instances of an actor. A good way to determine how an event is executed is simply add a printString and run in the editor. The Print will have a prefix saying which instance it executed on. So if you hook it up to OnPossessed in a 2 player game, it will print the 'server' prefix twice ( it's server only ). If you hook it up to beginplay in a 2 player game, it will print the 'server' prefix twice and the 'client #' twice ( you can consider BeginPlay a 'Multicast', it runs on all instances ). For an input event it will just print the instance that pressed the button, etc.
      Glad you like the videos so far!

    • @damian8051
      @damian8051 ปีที่แล้ว

      @@GameDevRaw Thats brilliant, thank you for the detailed explanation. Subscribed and can't wait to see all of your content!

  • @UltraMonS12
    @UltraMonS12 2 ปีที่แล้ว

    Can we attach The Weapon system with this inventory system

    • @GameDevRaw
      @GameDevRaw  2 ปีที่แล้ว

      I'm going to make sure to add some examples for that, to use it with the 'Make a MP game from scratch' tutorial.

  • @avramcs
    @avramcs ปีที่แล้ว

    so I got this to work (thank you so much btw) however the widgets are moving when I move. Hard to explain but instead of the widgets being over the center of the item the widgets move when the character does but are still linked to the item

    • @GameDevRaw
      @GameDevRaw  11 หลายเดือนก่อน

      Not sure what you mean, possibly you can show a short clip in the Discord and ask for help there

    • @avramcs
      @avramcs 11 หลายเดือนก่อน

      @@GameDevRawI got it lmao, it was a problem on my friends build, for anyone getting the same error it was because I did not have "Draw at Desired Size" under the Widget component selected.

  • @naz3711
    @naz3711 2 ปีที่แล้ว +1

    ✌🏽

  • @phychomatic21
    @phychomatic21 2 ปีที่แล้ว

    So this is exactly what im looking for. It's simple enough. Everyone else always adds view models, and weight system and unnecessary things That I'm not interested in.
    Will I be able to use your tutorial for a single player FPS game? or have I hit another dead end?

    • @GameDevRaw
      @GameDevRaw  2 ปีที่แล้ว +2

      Yes you can use this for single player, you could simplify it a bit and leave out some replication, but if you follow the videos 1 on 1 it still works fine for a single player game.
      I will be expanding the system with drag and drop, and inventory sizes, and prob weights, but that's all optional. If you dont want those, just leave them out.

    • @phychomatic21
      @phychomatic21 2 ปีที่แล้ว

      @@GameDevRaw do you mean step by step when you say 1 on 1? I'll give it a go. thank you for replying. I honestly just need a simple inventory and the ability to store items. I don't need a super fancy inventory system.

    • @GameDevRaw
      @GameDevRaw  2 ปีที่แล้ว +1

      @@phychomatic21 Yes, if you just follow it step by step you should be good without any changes.
      Then at some point you can jus tstop following the series, and stop adding features.

  • @puiubrasoveanuOficial
    @puiubrasoveanuOficial 2 ปีที่แล้ว

    We wait for more tutorial. like equipe gun ?

    • @GameDevRaw
      @GameDevRaw  2 ปีที่แล้ว +2

      Yes, later. First we finish the system. Then i will add things like using an item, crafting items, a hotbar etc

  • @GamersOasis1
    @GamersOasis1 7 หลายเดือนก่อน

    will this work in 5.3?

  • @rdwfreeitems2017
    @rdwfreeitems2017 2 ปีที่แล้ว

    👍

  • @timjroughton9931
    @timjroughton9931 ปีที่แล้ว

    Must this be Multiplayer?

  • @muselabmusic
    @muselabmusic ปีที่แล้ว

    Best coop tutorials on TH-cam!🌟

    • @GameDevRaw
      @GameDevRaw  ปีที่แล้ว

      Glad you think so!

  • @littledemo3605
    @littledemo3605 2 ปีที่แล้ว

    it will have weapon equipment, shop system?

    • @GameDevRaw
      @GameDevRaw  2 ปีที่แล้ว +1

      No, not in this series at least. This is really inventory-focused.

  • @Frerducayou
    @Frerducayou ปีที่แล้ว

    Is it saving client side or server side?

    • @GameDevRaw
      @GameDevRaw  ปีที่แล้ว +1

      Local, so both i guess

  • @the_one_and_carpool
    @the_one_and_carpool ปีที่แล้ว

    hello my names dont pop up im using ue5.1

    • @GameDevRaw
      @GameDevRaw  ปีที่แล้ว +1

      Should work fine in 5.1, you must have missed something. Maybe check the collision settings on the pickup-trigger, or the detection-sphere?
      You could add a print to see if the event to show/hide the name fires. If it does it's not collision related, if it doesn't it prob is.

    • @the_one_and_carpool
      @the_one_and_carpool ปีที่แล้ว

      @@GameDevRaw cool thank you ill rewatch

    • @the_one_and_carpool
      @the_one_and_carpool ปีที่แล้ว

      @@GameDevRaw ok at first i thought it was because of the advanced input in the third person character lol im new to this and so far you explain the best by far how to ust the blueprints thank you again for your teachings

    • @the_one_and_carpool
      @the_one_and_carpool ปีที่แล้ว

      @@GameDevRaw thank you for helping I missed to enable overlap in the box trigger I just subscribed I'm going to watch the shooter series you got up next, I was doing this one guys tutorial but the third video he had functions that he didn't have in I got lost and his inventory series is like 50 videos long

    • @the_one_and_carpool
      @the_one_and_carpool ปีที่แล้ว

      @@GameDevRaw hello again sorry im bothering you on a older video now my names do appear but for both players on server but if i play stand alone it shows for only the player im controlling the pickup when i pick them up work they get destroyed on both players lol i unhooked everything after event begin play everything works as before it show up and disappears when i move away ok i got it thanks again for you work