UE C++ Tutorial Series: Items, Interaction, Inventory #11: Adding aim functionality with a timeline

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 พ.ย. 2024

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

  • @purpledude4207
    @purpledude4207 8 หลายเดือนก่อน +2

    finally got to the end of the series, learned a crap ton. Thanks for being very concise with what everything does so beginners like me can understand. Hopefully u make more videos I'll def be watching them.

  • @manoelmilchev1299
    @manoelmilchev1299 9 หลายเดือนก่อน +6

    Honestly, the most clear tutorial series I've followed. Everything is explained and repeated enough to become understandable. Congrats for the hard work and keep going

  • @MrPedantik
    @MrPedantik 8 หลายเดือนก่อน +1

    Hey, just want to say thanks for this tutorial series. Is has been really helpful to learn how to implement an inventory and has taught me a lot about C++. I will look into adding chests that have inventories and moving item from one to the other. You should think about doing more as your explanations are clear and easy to follow.

    • @GeorgePence
      @GeorgePence  8 หลายเดือนก่อน +1

      Thanks! Glad it has been useful for you. I'm going to expand it more in the future, I've just been super busy with full time work and finishing a masters degree so I can't spare any mental bandwidth for UE right now, but videos on adding containers and more are coming in the future.

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

    Thank you very much for this series!! Hope you will continue this

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

    After watching through your series of videos, I've gained valuable insights. Thank you for your dedication. Wishing you smooth sailing in all your future learning and work endeavors.

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

    Made it to the end and everything works. Awesome! Thanks for taking the time to film everything and go back and show the changes you made. The commentary and explanations for each iteration of code really help with understanding how stuff works. Now going to use what I learned from this series to slowly brick my blueprint only projects when I attempt to convert them to C++. 🤣 Thanks again!

    • @GeorgePence
      @GeorgePence  10 หลายเดือนก่อน +3

      Awesome, nice work and I'm glad you enjoyed it. I'll have much more free time starting around April and then will be continuing to expand this series.

  • @Igrom_Gamedev
    @Igrom_Gamedev ปีที่แล้ว +4

    Hi, would love to see a sequel and see how you can equip things on a character from inventory.

    • @GeorgePence
      @GeorgePence  11 หลายเดือนก่อน +2

      I'd definitely like to do a tutorial for that in the future.

  • @RenoirEW
    @RenoirEW 9 หลายเดือนก่อน +1

    Thanks man, very good course, detailed and clear
    Will wait for future videos...

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

    i hope u return to making videos in the future cause the way u explain things in depth and why and how u do things is sooo good

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

    Cool! I followed along and finished the series. Thank you for this!
    Looking forward to the next chapters.

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

    Thanks for this, will be waiting for more content to come. Would also be interested in a video editing the code for multiplayer replication.

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

    Hope your Masters Degree is finishing up well!
    Loved your videos so far, looking forward to what you release next!

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

      Thanks man, I finally got it finished. I think I coincidentally saw the tail end of your presentation in the DruidMechanics server the other night. I was like hmmm "that's a funny coincidence, someone who had a data table inventory system and used that same armor set", and then I noticed your comment here had the same avatar. So just wanted to say it's cool to encounter someone who got some use out of this series in the wild. I'm Zaelus on the server, feel free to hit me up if you have any questions.

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

      @@GeorgePence that's awesome! Between you and Stephen, I've started moving from Unity to Unreal so I appreciate both your work making the transition easier. I started picking up from where you ended with the series for myself, but I'd love to compare notes with you for sure.

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

    Great tutorial! Well articulated, good pacing. Got an identical result. And most important, it's a scalable tutorial (which is rare to find among instructions). I have so much code of my own which I can go back and improve now.
    I had some trouble with enhanced input, it triggered the Aim function multiple times which overwrote the Reverse timeline withing StopAiming. I Added a "(!HUD->bIsMenuVisible && !bAiming)" at the start of the Aim function to solve that.

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

      Ah yeah, I made this before the old input system was being deprecated. I'll have to talk about EnhancedInput when I add on to this project.

  • @C.Sanjana
    @C.Sanjana 8 หลายเดือนก่อน

    Wow! this was on hell of a learning curve. Thanks!!

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

    Hi George, thanks for the tutorial, was exactly what i needed for my game and also some functions that you did improved a lot my c++ knowledge. It was fun and the end result was amazing! Keep pushing, Cheers :)

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

    Thank you so much for this series. Thoroughly enjoyed it and learned a lot. Think I have enough info not on how to do a hotbar and equipping (That OnNativeDrop stuff is awesome) and to make containers that can spawn random loot. Keep making tutorials, your style makes it easy to follow and understand and I like the data approach you have to your designs. Would even love some Udemy courses from you on various game systems. Cheers man.

  • @Test-xt3ys
    @Test-xt3ys ปีที่แล้ว

    You're the only one I see editing his code during live recording 🤣 You're definitely a perfectionnist!! Hope you're going back soon :) thank you so much for teaching all this, I 've learned a lot!!

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

      😂 I wanted this series to be realistic. Minimal editing, just showing how a normal person codes this stuff, even all the mistakes and random wandering thoughts and rambling.

    • @Test-xt3ys
      @Test-xt3ys ปีที่แล้ว

      @@GeorgePence Honestly I think everyone loved your tutorials, we're mainly all beginners and seeing your train of thoughts allow us to understand things even better so keep things just like that 🙏

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

    Is there a reason in APickup why ItemReference->NumericData.Weight = ItemDrop->GetItemSingleWeight(); -- shouldn't the weight already be appropriately set when ItemReference = ItemDrop?
    This series has been really awesome - you're an excellent teacher and I hope that you take the time to make more tutorials in the future. I feel like the C++ knowledge that you're imparting is exactly what's needed. I could hack my way through creating a lot of systems, but that's not the same as doing it intelligently or performantly. Your approach to this is so educated and enlightening and I feel like I've learned so much more than just how to make an inventory system. I'd really love to see a tutorial on saving and loading (an inventory, for example)

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

      Hmm yeah, you're probably right that that line is redundant. Try commenting it out and running the debugger over that spot when you drop an item and verify if the weight is already good or not.
      Thanks, I definitely will be, have just been swamped with work plus college in my free time so UE has fallen to the wayside for a while.

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

    Very good and very complex tutorial.

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

    Thanks for the series, was really helpful

  • @curator7
    @curator7 8 หลายเดือนก่อน +1

    *Could you please tell me what sources you used to learn how to create an inventory?*

    • @GeorgePence
      @GeorgePence  8 หลายเดือนก่อน +1

      The structure of this code is very loosely based off of an inventory system from the Reuben Ward survival course that I took back in 2020. I've since changed a ton and added lots of my own stuff and optimizations, but if you were to pull up the inventory code from that course you would see a few similarities.

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

      @@GeorgePence I understand, thanks for the answer. I'll need your system for my game soon.

  • @Kraziss
    @Kraziss 10 หลายเดือนก่อน +1

    when will the new video be?(

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

    Great tutorial serial! It would be nice if you could make a dialogue serial.

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

    Hey I just finished the tutorial and I was wondering how I would go about adding functionality to each item? Great tutorial series btw

  • @gokulkumar6146
    @gokulkumar6146 11 หลายเดือนก่อน +1

    Can you please Give a Link of This project

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

    Great tutorial! Hope to see more in the future. Can anyone lead me in the proper direction on how to save this inventory system? I have been trying a lot of different ways but my game keeps crashing even though I am able to save my player character variables.

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

    Hi George, I appreciate your tutorial. Love the 100% C++ mindset. I've been working on enhancing my inventory system using some of your concepts and was wondering an efficient to incorporate an actor that requires another quest item that should be in the player inventory at that moment, for example: a locked cabinet needing a key to open. How would you suggest implementing this feature?

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

      I actually started prototyping something like this. My approach was going to be to create a separate QuestManager class which takes a Quest class that consists of various things like objectives, required items, required locations to reach or be in, and also had fields for rewards such as items or money upon completion. So I would recommend that approach as it seemed the most efficient and scalable, at least for what I had tried so far. I really hope to get it working well and make some videos on it some day. With a quest manager like that, you could use it to check the players inventory when trying to open the cabinet, and only allow it if the key is in the inventory.
      If you wanted to do this without any kind of quest at all, then you could simply add a special override to the cabinet that checks the interacting players inventory when they attempt to interact with it.

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

    Just wanted to say, this whole series has been really good. Very well thought out and nicely described. I like how you take the time to explain stuff and even show the errors and fixes as you go. Any chance youll ever continue this to add multiplayer replication etc? could be a good extension? Also to show how it could be asily added to chests and lootboxes as well as the right click menu and the use function? Even if not, thanks for such a good series.

    • @GeorgePence
      @GeorgePence  9 หลายเดือนก่อน +2

      Thanks, I'm glad it was useful for you. I'm right in the final semester of a masters degree right now, so that's why I haven't recorded anything new, but I do intend to continue this series by adding containers and the right click menu and other things like that. Just need the time and sanity to do so haha

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

      I have started converting this into a multiplayer system. The way everything is neatly laid out helps a lot but I am still figuring out how to properly do replication. Some things I have figured out so far:
      1. I had to move the ItemInteractableData into the UItemBase itself (added the struct definition to the DataStruct class. The reason for this is there seems to be no way to replicate variables on Interfaces. I am technically just duplicating the data in UItemBase but I find having a neat struct containing the Interactable data makes it easier to pass around and easier to expand if needed.
      2. You have to do initilisations on the server side since replication only goes one way. Then replicate the UItembase variable in the Pickup actor and also add replication to the UItemBase class itself to replicate its internal variables. The syntaxes for replication get a bit weird in UObject vs AActor but there are some good resources out there.
      3. A similar method for replicating UObjects can also be used to replicate arrays of UObjects (like the Inventory), but you just need to make sure that they are always linked to an Outer AActor to be replicated.
      4. In the Pickup class constructor, after you create the ItemMesh with CreateDefaultSubObject, set replication to be enabled on the mesh itself or your client won't see the dropped item. This took me 3 days to figure out and almost led to a smashed keyboard.

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

      @@davidkoch3758 Really interesting to read some of the challenges you're encountering. I plan on experimenting with this myself one day.

  • @МатвейМаслов-ч3и
    @МатвейМаслов-ч3и 6 หลายเดือนก่อน

    hi, I faced issue with timeline, for some reason, UpdateCameraTimeline func never being called for me, I definitely spelled it right when I bonded it with AimLerpAlphaValue, what could be the reason?

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

    this is best tutorial i found for inventory thanks a lot i hope u can make Split function :'(

  • @mr.bun-bunny8830
    @mr.bun-bunny8830 10 หลายเดือนก่อน

    Once Again Thanks for such a awesome tutorial this was a great journey man

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

    Please make more c++ ue5 videos.

    • @GeorgePence
      @GeorgePence  9 หลายเดือนก่อน +1

      Haha, I promise I will

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

    Any chance this tutorial series will ever get a revised version? Some of the changes done off camera threw me for a loop and the flow is ruined by changes and alterations done in hindsight. I've lost my place several times now, and it doesn't help that I decided to create this without any character connection. Trying to make an inventory that is character independent is a lot harder!

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

      No, since I don't have the video files any more. I still plan to add more to it in the future, including containers. What do you mean without any character connection? That already sounds confusing to me so I imagine it would be harder that way

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

      @@GeorgePence Ah shame, that would have made a it the perfect inventory series. As for without the character I meant handling interaction through the component, so it can be as agnostic as possible. What I'm trying to make is a component that I can put on any character, to give it a functional inventory.

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

    Hi. I followed this tutorial and I have a one problem. When I drop item from inventory it bounce out away. How can I do that item slightly fall on the ground without bounce ? Thank you.

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

      Haha yes, this is just a result of my choice to enable physics on the items. You can simply disable physics on them if you don't want that to happen. There are ways to minimize the effect without totally disabling it, but I have not taken the time to figure out how yet. I want to do that in a future video.

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

    cool stuff, are you going yo continue this inventory system?

    • @GeorgePence
      @GeorgePence  ปีที่แล้ว +7

      Yeah, I just need to get around to recording the videos to add containers and also planned to show how to implement a right click submenu... I'll try to get all that recorded soon.

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

      @@GeorgePence noice, are you going to include weapon equip and crafting?

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

      @@stephenhidalgo7608 Nah, after those things I listed this series would stop, but I might consider recording another one for stuff like that in the future.

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

      @@GeorgePence if you want any direction or to take a look at other implementations on top of your code, I've implemented a slot system on top of this tutorial that lets you arrange things at will but it needs some refinement (currently I haven't figured out a way to refresh the item slots visually without clearing and remaking the inventory every time which is not scalable at all). Happy to share the code with you if it helps at all - I haven't been able to break my implementation yet at least.

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

      @@siegekeebs Nice. You probably have no choice but to clear and redraw the inventory slots every time. That's what I was already doing with the wrap box widget. There's no other way that I know of to update a widget that contains many smaller widgets than with iterating through each and adding them back as a child.

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

    Thanks)

  • @Lewis-dq2xb
    @Lewis-dq2xb ปีที่แล้ว

    @George Pence can i dl this or buy ?

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

      What, the source code? Nah man, you gotta build it haha

    • @Lewis-dq2xb
      @Lewis-dq2xb ปีที่แล้ว

      @@GeorgePence xD

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

    Auto translation does not exist

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

    omg
    this video doesn't support translate ㅠㅠ

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

    Awesome series, can't wait for more!
    What rider shortcuts did you use in series if u dont mind me asking cause workflow is very efficient