Course review for Unity RPG Inventory Systems

I just finished the inventory course in the RPG Bundle, and will give my impression before jumping on the next part.

Right off the start, I would like to address the main point that push me to write this review, which is the way we follow the course by updating the project (with either packages or commits).
At first, I was thinking “Great idea !!” . It is sometimes tedious to follow along the code being writted and to stop the video every 5 seconds, especially when we jump around differents Class.
So I would often just copy paste from the git changes.

But after this course, I think the opposite now.
We don’t build along the system. We review it after it is all written. It give me the feeling to understand it (I was never lost), but not to comprehend it (I did not make mine).
Some scripts are … classified as “externals utilitaries” and never review such as DragItem and TooltipSpawner, while being some of the most complex scripts (and so the most interesting ones).
The majority of the challenges are not challenging (put some debug here and here to see what happen, instead of writing a missing piece). It got better in the second half, with EquipementSlotUIChallenge for example.
At some points, I had the impression that it was more a course on how to use an inventory system given to us, and not how to build one.
If I wanted a cool inventory system, keys in hand, to then reverse engineering it … I would buy it on the Assets store, and not buy a course.

I don’t want to sound too harsh but I hope the others courses don’t follow this direction, because I think it’s come in conflict with the main purpose of why we are here.

Rick and Sam are still very good teachers and I learned a lot. Especially to better grasp when to use events, interface and polymorphisme. I already knew how to do it, but I can see a little more clearly now when is the right time for the right tool.

The finished system looks pretty good.
It is flexible in size for all the parts (inventory , equipement, and action bar).
We can pickup, equip, and use equippables items with various stats, as well as consommables.
We can assign drops to ennemies, with various percentages to influence it.
The overal structure (Class, fields, etc) make sense to me, and is abstracted enough so it can be used in others projects (even 2D I would presume).

The only flaw in my opinion is when we implement it with our RPG game, with StatsEquipableItem.
We use the same Enum Stat used for the Progression.
So we can create items with the stats ExperienceReward and ExperienceToLevelUp.
For me we should have two differents Enums. I was not a fan of having these two mixed with the others.
I would certainly rework the Progression system as a whole once I finished the two others courses.

I spend some time trying to make a diagram of the whole system, but could not find a proper program to generate a diagram from C#. I was able to generate the following one with Visual Studio (not VSC), with the Class Designer component.
Its better than nothing, but I can’t make relations freely, and so can’t make relations between complicated structures (a class reference inside a Struct, inside a Dictionary for example).

If anyone know a good diagram program to use along C#, please let me know.

Thanks you for your time.

1 Like

Thank you for your in-depth review.

You weren’t alone in the critique of the style of the course. We recorded this course in this manner after feedback from recording the first course that went along the lines of
“This is an intermediate course, why are we still following as you type”. In short, this was the sort of course that was asked for by a segment of players (myself included!)

Then we made the course, and the feedback ensued. The same students who wanted this style of course quickly realized like you did, that this was not what they wanted after all.

Fear not, we learned a lot from this experience, and the decision was made NOT to use this style of course going forward.

3 Likes

Privacy & Terms