Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Penny de Byl and Michael Bridges

Have you ever wanted to design a game inventory system that’s more than just a simple item list? Are you a programmer or artist wanting to blend code and 3D art to create an interactive and immersive Viking-themed inventory? Then this course is for you. In it, you’ll explore both coding and art creation, giving you the skills to build a professional-grade inventory system that can be adapted to any game project.

Read more

Have you ever wanted to design a game inventory system that’s more than just a simple item list? Are you a programmer or artist wanting to blend code and 3D art to create an interactive and immersive Viking-themed inventory? Then this course is for you. In it, you’ll explore both coding and art creation, giving you the skills to build a professional-grade inventory system that can be adapted to any game project.

In this course, Penny and Mike combine their expertise in Unity and Blender to teach you the essential skills for designing, programming, and modeling an immersive inventory system. You’ll benefit from their years of industry experience with detailed explanations and hands-on projects that cover every aspect of development.

This course offers over 15 hours of hands-on content, guiding you through the creation of a functional inventory system with Unity 6 and Blender.

We’ll start by laying a solid foundation with Unity setup and essential 3D modeling skills, then dive deep into creating a full-featured inventory system—from item data storage and UI design to interactive item management and 3D previews.

In this course, you will:

     1) Build a fully interactive inventory system in Unity 

     2) Model and texture 3D assets in Blender for use in games 

     3) Implement custom editor scripts and UI elements in Unity 

     4) Combine all the elements in a third-person 3D game environment

The course is broken into two main parts, which can be taken individually or as a complete learning journey:

Part A

In Part A, learn how to program and structure the Inventory System in Unity 6, covering:

Setting up Unity and Using ScriptableObjects 

  Efficiently organize item data using ScriptableObjects for maximum flexibility.

Item Categorization and Custom Editors 

  Use enums to create item categories and develop a custom editor for managing inventory items with ease.

Adding, Removing, and Stacking Items

  Program functions to add, remove, and stack items, ensuring a smooth player experience.

Inventory Interactions and Testing 

  Design tests to validate inventory behavior, with runtime testing functions for quick prototyping.

Setting up the Unity Input System 

  Add custom input actions for interacting with the inventory, such as item dropping and equipping.

Part B

In Part B, learn how to design and integrate 3D items with Blender, covering:

Scope and Specification

Understanding the goals and scope of any project is critical to succeeding. and when it comes to realistic models managing the potential for scope creep is important.

Making The Low Poly Assets

Models have to start somewhere, and making low poly assets allows us to focus on the basics of good topology and form.

Sculpting Details

Sculpting is a fantastic way of adding detail to any model, taking them from basic to unique assets.

Preparing For Texturing

Understand the texturing process and unwrapping your models is much easier than you think.

Texturing Models

Flat models are boring, creating PBR textures bring your models to life.

Baking Textures

Games require optimised assets, we'll generate high-quality texture maps to apply to your assets takin models with over 100,000 polygons down to a model in the 1000s without compromising on quality.

What students are saying about Penny and Mike's other courses:

  • This course was incredibly thorough. Penny’s clear explanations combined with Mike’s art direction really made complex concepts accessible.

  • I’ve been using Unity for a few years, but this course gave me new insights into both coding and art integration. The inventory system I built has become the foundation of my latest game.

  • I can’t recommend this course enough. It’s perfect if you want to get hands-on with Unity and Blender—everything was so well structured, I felt like I was building a real project from start to finish.

Enroll now

What's inside

Learning objectives

  • Understand and implement an organized inventory system using unity 6, complete with item categories and a custom editor.
  • Model and texture viking-themed 3d items in blender, importing them seamlessly into unity.
  • Develop skills to link inventory items to interactive game objects, adding physics and realism to dropped items.
  • Design an intuitive and visually engaging inventory ui with tabs, toggles, scrollviews, and a 3d preview display.

Syllabus

By the end of this section students will understand what the course will be teaching as well as how to communicate with the teachers and other students.
Read more

In this video, Penny and Mike will introduce you to the course and go over the content.

This short video will introduce you to the ways to get in touch with the Holistic3D team.

Important Reading on Common Issues students have and how to ask for help.

In this video students will gain an understanding of the structure of the Inventory System that will be developed in this course.

In this video students will follow along while they setup and configure Unity to use the starter package supplied with the course.

In this video students will learn how to use scriptable objects to store the data for inventory items.

In this video students will learn how to program an enum to specify the category to be used to classify an inventory item.

In this video students will begin to write the Inventory System class along with the Inventory Slot manager.

In this video students will learn how to add items into the inventory in addition to creating a quick testing function to add items at runtime.

In this video students will be challenged to complete writing the method that will manage adding stackable and non-stackable items to the inventory.

In this video students will learn how to test out the adding of items to the inventory to check the AddItem() method is working as expected.

In this video students will learn how to begin constructing a custom editor to present the inventory items in a table in the Inspector.

In this video students will learn how to use the GUILayout element to position text labels in the custom editor.

In this video students will complete the inventory system's custom editor by drawing out the values in each slot.

In this video, students will be challenged to write the code that will remove items from the inventory.

In this video students will create game objects that can be picked up when the player walks over them.  These items will be later added to the inventory system.

In this video students will be challenged to place the picked up items into the inventory system and complete writing the PickUpItem method.

In this video students will check if the inventory is picking up bundles of items correctly and debug it, if it is not.

In this video students will learn how to setup the Unity Input System to add new input actions for the dropping of items out of the inventory.

In this video students will learn how to remove items from the inventory by specifying both the slots numbers and item types.

In this video students will be challenged to develop a more robust RemoveItems method that handles the removal of items across Inventory slots.

In this video students will extend the scriptable objects to link back to a prefab that can be instantiated when items are dropped.

In this video students will learn how to instantiate a prefab into the environment to represent a dropped item.

In this video students will learn how to add physics to instantiated inventory items when dropped.

In this video students will learn how to ensure that the number of prefabs created during the dropping of items is the same as the number of items being taken out of the inventory.

In this video students will learn how to cherry pick the way the physics works on inventory items.

In this video students will gain and understanding of the wide range of layouts an inventory user interface can take.

In this video students will learn how to bring in external assets to use with the Inventory UI design and setup the sprites.

In this video students will learn how to add and resize panels for the UI as well as create 9-sliced sprites.

In this video students will learn about the variety of different layout controls available for aligning panels and other UI items.

In this video students will learn how to create a camera that renders a 3D object to a texture for display in the UI.

In this video students will learn how to construct tab buttons out of UI toggles and style them to fit in the tab panel.

In this video students will learn how to setup a toggle group and colours for toggles being on and off.

In this video students will complete adding the toggles to a group and test that they are all turning on and off.

In this video students will learn how to add code to a toggle group to automatically setup listeners on each child toggle that will report the toggle selected.

In this video students will learn how to create a scrollview with scrollbars that can auto-resize to fit inventory items in it.

In this video students will learn how to construct a prefab to use for displaying the items in each slot of the Inventory inside the grid display.

In this video students will learn how to setup the item button prefab and procedurally instantiate it into the scrollview content area while setting the image and item count.

In this video students will learn how to sort the items in the inventory according to the selected tab.

In this video students will learn how to start adding 3D models into the environment to use as the 3D previews in the inventory.

In this video students will learn how to pickup the 3D preview items and store them in a dictionary for use in the inventory manager.

In this video students will learn how to link the individual inventory items to the display of the 3D preview items.

In this video students will learn how to program a keypress to open and close the inventory panel.

In this video students will learn how to lock and unlock the mouse cursor so it is available for use with the inventory window.

In this video students will learn how to link the UI part of the inventory with the virtual management of the inventory.

In this video students will learn how to toggle the visibility of a UI panel and all it's children gameobjects.

In this video students will learn how to ensure newly added items are displayed under the correct tab in the inventor.

In this video students will refactor the slot code to better manage the inventory item count and update it visually on the button.

In this video students will learn how to add a drop button to the inventory panel to drop selected items.

In this video students will learn how to instantiate game objects back into the scene when they are dropped from the inventory panel.

In this video students will learn how to specify the number of items they want to remove from a slot.

In this video students will be challenged to extend their inventory with new fields and functionality.

In this video students will be challenged to add a new item model in the project and ensure it works with the inventory system.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Combines coding in Unity and 3D art creation in Blender, providing skills to build a professional-grade inventory system adaptable to various game projects
Uses Unity 6, which may require users to upgrade from older versions to maintain compatibility with the course's features and functionalities
Teaches how to implement custom editor scripts and UI elements in Unity, enhancing the game development workflow and user experience
Explores 3D asset modeling and texturing in Blender, which are essential skills for creating visually appealing and immersive game environments
Covers the creation of a dynamic inventory UI, including tabs, toggles, scrollviews, and 3D previews, which are crucial for engaging player interaction
Requires familiarity with Unity's input system, which may pose a challenge for beginners unfamiliar with setting up custom input actions

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Build inventory system with unity & blender

According to students, this course offers a hands-on approach to building a complete game inventory system by uniquely combining skills in Unity programming and Blender 3D art. Learners praise the clear explanations provided by instructors Penny and Mike, finding their combined expertise particularly effective. The course is described as a practical project that guides you through developing features like item data management, custom editors, UI design, and integrating 3D assets with PBR textures. While largely positive, some reviewers note that having basic prior experience with either Unity or Blender can be beneficial to keep up with the pace.
Divided into coding (A) and art (B) parts.
"The course is broken into two main parts, which can be taken individually or as a complete learning journey."
"I focused on Part A first, the Unity programming, which was exactly what I needed."
"Taking both parts provided a comprehensive view, starting with code and then integrating the assets I learned to create in Part B."
Covers creating custom tools in Unity.
"The section on building custom editors for the inventory items was incredibly useful and a skill I didn't expect to learn here."
"Learning to create a custom editor really streamlines the workflow for managing items."
"The custom editor part added significant value and showed practical application beyond the core inventory logic."
Instructors explain complex topics clearly.
"This course was incredibly thorough. Penny’s clear explanations combined with Mike’s art direction really made complex concepts accessible."
"The instructors explain things very well, making it easy to follow even complex parts of the project."
"Penny and Mike break down difficult topics into understandable steps."
"I found the explanations for both the coding and the art parts to be very clear and easy to grasp."
Builds a real, functional inventory system.
"Building the inventory system from scratch felt like a real project, which was incredibly motivating."
"The hands-on coding and projects are the strongest part of the course for me."
"I can’t recommend this course enough. It’s perfect if you want to get hands-on with Unity and Blender—everything was so well structured, I felt like I was building a real project from start to finish."
"I built a functional inventory system that I can now adapt for my own game projects."
Successfully combines Unity development with Blender.
"I really appreciated how the course integrated both the coding side in Unity and the 3D modeling side in Blender. It's not often you find a course that covers both."
"Blending the art and programming together for the inventory system was a unique and valuable aspect of this course."
"It was great learning how to combine my programming knowledge with creating assets in Blender for a functional game system."
"This course gives insights into both coding and art integration, which is crucial for many game projects."
May be fast-paced for absolute beginners.
"While the explanations are clear, I felt it moved quite fast at times. Some prior experience with Unity helped."
"If you're an absolute beginner to both Unity and Blender, you might need to pause and rewatch sections."
"Best suited for learners who have some basic familiarity with either game development or 3D modeling tools."
"I had some background in Unity, which made the coding part easier to follow, but the Blender section was new to me and required focus."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learn to Develop an Inventory System in Unity 6 & Blender with these activities:
Review Basic 3D Modeling in Blender
Refamiliarize yourself with the fundamentals of 3D modeling in Blender to better understand the asset creation process covered in Part B of the course.
Browse courses on 3D Modeling
Show steps
  • Open Blender and review the interface.
  • Practice basic modeling techniques like extrusion and scaling.
  • Try creating a simple object like a cube or sphere.
Review C# Scriptable Objects
Solidify your understanding of Scriptable Objects in C# to prepare for using them to manage item data in the inventory system.
Browse courses on Scriptable Objects
Show steps
  • Read the Unity documentation on Scriptable Objects.
  • Create a simple Scriptable Object in a new Unity project.
  • Experiment with storing different data types in the Scriptable Object.
Mastering Blender
Deepen your understanding of Blender's capabilities to create more detailed and optimized 3D assets for your inventory system.
Show steps
  • Obtain a copy of 'Mastering Blender'.
  • Read the chapters on modeling and texturing.
  • Experiment with the techniques described in the book.
Four other activities
Expand to see all activities and additional details
Show all seven activities
C# Coding Challenges
Sharpen your C# programming skills by completing coding challenges on platforms like HackerRank or LeetCode to improve your ability to implement inventory logic.
Show steps
  • Choose a coding challenge platform.
  • Select C# as your programming language.
  • Solve at least three coding challenges per week.
Expand the Inventory System
Extend the inventory system by adding features like item crafting, equipment slots, or stat bonuses to reinforce your understanding of the course material.
Show steps
  • Choose a feature to add to the inventory system.
  • Design the data structures and logic for the new feature.
  • Implement the feature in Unity and test it thoroughly.
Create a Tutorial on Inventory Systems
Solidify your knowledge by creating a written or video tutorial explaining how to build a basic inventory system in Unity, targeting beginners.
Show steps
  • Plan the structure and content of your tutorial.
  • Record or write the tutorial, explaining each step clearly.
  • Edit and publish the tutorial on a platform like YouTube or a blog.
Contribute to a Unity Open Source Project
Contribute to an open-source Unity project related to inventory systems or game development tools to gain experience working in a collaborative environment.
Show steps
  • Find an open-source Unity project on GitHub.
  • Review the project's documentation and contribution guidelines.
  • Identify a bug or feature to work on and submit a pull request.

Career center

Learners who complete Learn to Develop an Inventory System in Unity 6 & Blender will develop knowledge and skills that may be useful to these careers:
Indie Game Developer
An Indie Game Developer usually takes on multiple roles, from programming to art creation, to realize their vision. This course is designed for someone like an indie game developer, because it teaches both programming and art creation within the context of a fully functioning inventory system. This course gives an indie game developer the ability to create both the code and the art for their game, especially if their project has an inventory system. The course's hands-on approach, using both Unity and Blender, is extremely useful for an indie developer. This course helps build a foundation that would assist in the development of complete game projects. This course may be especially useful to someone who is new to the field.
Unity Developer
A Unity Developer specializes in using the Unity game engine to create interactive experiences. This course is directly aimed at Unity developers, as a lot of time is spent learning how to program within the Unity environment. By creating a full inventory system, this course covers many core elements of a Unity project, such as using ScriptableObjects, custom editors, and the Unity Input System, as well as UI programming and working with 3D assets. Additionally, a Unity developer can learn how to link game logic and UI in a way that is very practical for the job. The practical approach provided by this course is well suited for someone pursuing the role of a Unity developer.
Game Programmer
A Game Programmer is responsible for bringing the design of a game to life, using code to implement features and mechanics. This course directly applies to a game programmer's role, offering a hands-on approach to developing a functional inventory system, which is often needed in many types of games. The course teaches how to build a complete inventory, including item storage, user interface design, and interactive item management. The skills learned from this course, such as using Unity 6 and implementing custom editor scripts, are integral to game development. A game programmer who takes this course can gain practical experience working with both code and the Unity game engine.
Gameplay Programmer
A Gameplay Programmer focuses on the interactive elements of a game, such as character controls, game mechanics, and inventory handling. In this course, students will build a functioning inventory system from the ground up, which is a very good practical step toward being a gameplay programmer. The course's hands-on approach to programming inventory interactions, item management, input systems, and the use of ScriptableObjects directly correlates with a gameplay programmer's work. As a gameplay programmer, this course provides useful insight into the practicalities of integrating game systems.
Technical Artist
A Technical Artist bridges the gap between art and programming in game development. They utilize their technical skills to implement art assets into a game engine. The course's focus on creating 3D assets in Blender and integrating them into Unity closely aligns with the responsibilities of a technical artist. The course provides hands-on experience in modeling, texturing, and importing assets, in addition to linking those assets to game logic. The course would give any technical artist a more comprehensive understanding of the entire asset pipeline from modeling to integration. Specifically, this course provides unique insight into how inventory systems are built and how to integrate art assets into such systems.
User Interface Developer
A User Interface Developer designs and implements the interactive elements of a game, including menus, HUDs, and in this case, inventory systems. This course provides specific experience in creating a user interface for an inventory system, including layouts, panels, and toggles. By following this course, a user interface developer will learn how to design UIs for item displays, tabs, and scroll views. Additionally, this course covers how to link UI elements with the game's underlying logic. This course will give any user interface developer working in games, or even other types of applications, insights that are extremely useful.
3D Modeler
A 3D Modeler creates the 3D assets that make up a game's environment and characters. The course's emphasis on modeling and texturing 3D items using Blender directly prepares learners for this role. Taking this course will help a 3D modeler understand the full pipeline of creating assets for use in games, including how to optimize models for performance. Additionally, a 3D Modeler can better understand how their own assets are ultimately used within a full game environment. By taking this course, a 3D Modeler will also learn how to prepare 3D models for integration with game mechanics and inventory systems.
Game Designer
A Game Designer is responsible for designing the gameplay mechanics and rules of a game. While this course does not cover the design aspects of a game, per se, it offers valuable insights into how game mechanics are implemented in code and in how user interface design affects a player's experience. A game designer who takes this course may discover limitations or constraints that they did not previously know about. This course will help any game designer understand the technical aspects of inventory systems, which is a common element in many games. The hands-on approach to creating an inventory in Unity and Blender gives a game designer a deeper appreciation for the practical side of game development. This course may be useful in helping the game designer understand the amount of work needed to realize their designs.
Simulation Developer
A Simulation Developer creates interactive simulations for various purposes, such as training and education. This course's hands-on experience in building an interactive inventory system using Unity is particularly useful to a simulation developer, especially if the simulation has an inventory aspect. The course teaches learners how to program game mechanics, design usable interfaces, and integrate 3D models which would all be very similar in many types of simulations. Additionally, any simulation software that involves object manipulation and a user interface would likely have similarities to inventory systems. By taking this course, a simulation developer will gain practical skills relevant to many types of simulation software. This course may be useful to someone working in the related field of serious games.
Software Engineer
A Software Engineer builds software applications and systems. The course offers valuable insights into software design patterns, algorithm implementation, and practical coding experience, all of which are directly relevant to a software engineer's job. While this course focuses on game development, the same principles that go into designing an inventory system are applicable to many software projects. By taking this course, a software engineer can practice designing scalable and modular software and learn how to integrate user interfaces with software logic. This course may be useful to software engineers who want a deeper understanding of game development or UI design.
Educational Content Creator
An Educational Content Creator develops materials for teaching various subjects. While this course is not directly about content creation, it is focused on teaching. Someone with this experience, developing interactive experiences, may be better equipped to create engaging and effective educational content. By taking this course, a teacher may get ideas on how to teach by offering hands-on experience to their students. This course includes hands-on projects and structured learning, which can inform the approach of an educational content creator when designing their own material. This course may be useful to a teacher who wants to learn about interactive design for their students.
Level Designer
A Level Designer creates the environments and layouts in a game. Although this course does not specifically address level design, it does provide a better understanding of how to integrate items and interactive objects in game environments, which is relevant to level design. A level designer who takes this course may gain insight into how the inventory system works and be better able to design gameplay that takes this into consideration. This course will teach a level designer more about how interactive objects can be created and how they function within the context of a game. Therefore, this course may be useful to level designers wishing to learn Unity using this course as a structured learning experience.
Project Manager
A Project Manager oversees the planning and execution of a project. While this course isn’t about management, it offers insight into the full development lifecycle of a game project. A project manager who takes this course may gain a deeper understanding of the stages, processes, skills, and effort that go into creating the type of work they are managing. This course may be useful to a project manager, particularly if they are working on game development. By taking this course, a project manager could learn more about the technical aspects of software development, which would help in managing the project more effectively.
Instructional Designer
An Instructional Designer creates learning experiences and materials. Although this course is focused on technical skills for a game, the structured learning experience may actually provide insights for an instructional designer. By taking this course, an instructional designer may learn different methods for structuring a course and helping learners through complex topics. The very nature of this course, and it's hands-on projects, may serve as inspiration for an instructional designer for an unrelated topic area. This course also provides some guidance in the creation of course materials and exercises, which is also very relevant to instructional design. This course may be useful to an instructional designer who is interested in exploring new approaches for teaching technical skills.
Quality Assurance Tester
A Quality Assurance Tester ensures that software and games are working as intended, and that they are free of bugs and defects. While this course does not directly focus on quality assurance, it does give a practical understanding of game mechanics. Understanding the underlying functionality of an inventory system helps a tester perform their job. Testing an inventory requires one to understand the design choices, and this course would offer some insight into such decisions. Specifically, this course trains learners how to consider the different use cases of an inventory system, which quality assurance testers may find helpful. This course may be useful for testers who wish to have a better understanding of how games are developed.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn to Develop an Inventory System in Unity 6 & Blender.
Provides a comprehensive guide to Blender, covering everything from basic modeling to advanced texturing and rendering techniques. It's a valuable resource for expanding your Blender skills beyond the basics taught in the course. While not required, it can serve as a useful reference for more complex modeling tasks. It is commonly used by both hobbyists and professionals.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser