Advanced Mining System Plugin for Your Game or Project
Unlock the potential of your game with the Advanced Mining System plugin. This solution includes a fully-functional example project with a basic custom first-person (FP) character, wall collision mechanics, and an inventory system example, all designed for seamless testing and integration.
Key Features:
Custom Spawn Manager Class: Effortlessly manage level loads and transitions based on item locations. For level designers, this means a drag-and-drop setup with no worries. Simply configure exposed variables in the Blueprints to set whether items should respawn and the respawn timer.
Easy Integration: Copy-paste code from the provided character, game instance, and player controller into your own project. Minimal C++ knowledge is required, but the plugin is designed to save you time and provide a robust foundation.
Polymorphic Inventory System: Leverage object-oriented programming to handle your inventory with ease. This plugin incorporates a flexible polymorphic system, perfect for anyone building a serious game. It’s not just about having an inventory; it’s about streamlining development with a scalable solution.
Memory Optimizations: Designed with efficiency in mind, the plugin handles complex operations like tick-based updates and nested for loops without sacrificing performance. Perfect for developers looking to optimize game performance.
Comprehensive Documentation: The code is well-commented and structured to help you understand every part of the plugin. You’ll find all the details you need to adapt it to your project. If you’re a beginner, this may be a good time to transition to C++ for better maintainability and control.
AMS Product Overview: Watch the overview video here: AMS Product Overview
Performance and Scalability:
The plugin contains approximately 15,000 lines of code (including .cpp files, includes, debugs, comments, and some redundant code). This gives you a rough idea of the scale of the project. Factor in the work done in the .h files, Blueprints, and debug time, and you’ll see that this system is extensive and ready for a full game integration. When combined with all the assets such as meshes, materials, animations, and textures, this plugin represents a substantial amount of work done for you, saving you considerable development time. While it may take some time to get familiar with the system, it will ultimately be X times faster than starting from scratch.
Why C++ Is Important for This Plugin:
This plugin uses a polymorphic inventory system, based on a common object-oriented programming concept, which is essential for modern game development. Unless you’re just starting out, this system will be a crucial part of your project. The plugin is designed to help you make informed decisions about framework architecture before diving into extensive level design.
For smooth integration, the plugin uses the existing TArray<FName> Tags variable in the AActor class to manage spawn data in each level. While Blueprints are powerful, this plugin involves significant logic and nested loops, which are best handled in C++. We highly recommend learning C++ and using it for this plugin, as it offers better performance and maintainability compared to Blueprints.
Don’t worry if you’re not fully comfortable with C++ yet—this plugin is designed to be accessible to both advanced and intermediate developers. You can always implement Blueprint functions in C++ and branch them however you want. Check out my YouTube channel for detailed tutorials on how to get started and how to sort classes and assets into appropriate folders for your main project.
Target Audience:
This plugin is geared towards intermediate to advanced users. If you're at the point where you need a polymorphic inventory system or save game system, you’re probably already familiar with the basics of game development. This plugin is well-commented, easy to understand, and doesn’t require complex knowledge to use.
Important Note: Due to its intermediate and advanced nature, this plugin is not suitable for total beginners. However, if you’re an experienced developer, it’s an invaluable tool that will save you significant time and effort in your project.
Quick start documentation: https://www.youtube.com/watch?v=_CaqNhzNHtk
In this episode, we provide a comprehensive overview of the Advanced Mining System plugin, guiding you through its installation, setup, and core functionalities. By the end of this video, you'll be equipped to integrate and utilize the plugin effectively within your Unreal Engine 5 projects.
AMS Documentation Part 01: https://www.youtube.com/watch?v=Q-F5DEuKnV4
In this episode, we will cover the following classes in detail: AMSActor, AMSBattery, AMSCartridge, AMSData, and AMSMineral.
AMS Documentation Part 02: https://www.youtube.com/watch?v=SXY-AMViBAk
In this episode, we will look at the AMSBox actor and discuss current issues with concave collisions in UE5, particularly in relation to actors with internal cutouts.
AMS Documentation Part 03: https://www.youtube.com/watch?v=M1OHuinWXGw
In this episode, we will examine the AMSCharacter class with its custom crouch system and wall collision system for the AMSGun. We will also cover the AMSOverlap, AMSPC, and AMSSaveGame classes.
AMS Documentation Part 04: https://www.youtube.com/watch?v=L4LWaLeNAMs
In this episode, we will cover in detail the AMSGun class.
AMS Documentation Part 05: https://www.youtube.com/watch?v=q5hxSxGdSps
In this episode, we will cover in detail the AMSSpawnManager class.
AMS Documentation Part 06: https://www.youtube.com/watch?v=SooxZ_G0Bkc
In this episode, we analyze the computation time for the second nested for loop iterations, comparing the locations in a packaged shipping build. Some final thoughts on which classes are recommended to be moved to your main project.