Easy Build System - Modular Building System
Easy Build System is a user-friendly modular building system. This system is made to be clear and easy for all developers, whether you're beginners or experienced. It's a great choice for anyone who wants to add advanced building features to your games easily without needing any coding.
🚀 Quick Start 🚀
Setup the system in any project easily with just a few clicks. It gives you a strong start, making it simple to include different building features in your scenes. This way, developers can get going quickly.
🛠️Custom Editors 🛠️
Simplifies adjusting and overseeing the system's features with custom editors for each component, making it simple and clear. Includes a set of highly innovative tools to facilitate the process of adding new building components, such as a real-time preview system during socket configuration, as well as collision and physics management within your scenes.
📦 Demos & Add-ons 📦
Includes a set of demos and add-ons to show you how the system works and how it can be modified for different types of projects.
🗺️ NavMesh Compatibility 🗺️
Makes it easier to navigate around buildings and obstacles in scenes using Unity's built-in NavMesh system or the new AI Navigation package.
🎮 Cross-Platform Support 🎮
Supports many input systems, like the Legacy, New Unity Input System, and Rewired. It allows smooth use on different platforms, such as Standalone, Android & iOS, WebGL, Consoles, and VR & AR/XR environments.
🖥️ Render Pipelines 🖥️
Compatible with all supported Unity render pipelines, including Built-in, Universal, and High Definition.
⚙️ API ⚙️
Includes full source code and read the detailed guides. Change the system to match your project's special needs using many methods and events, giving you a lot of ways to customize and adapt it.
Technical details
-- Building Placer --
Manages the logic for each construction mode, whether in the Unity Editor or during playtime. It includes three different building modes: placement, destruction, and editing. Each mode is selectable either via default shortcuts (with customizable inputs, using either the legacy or the new input system, Rewired) or through the included UICircularBuildingMenu add-on provided in the package.
Supports different camera 3D perspectives, including first-person, third-person, top-down, and isometric views, XR/VR.
-- Building Area --
Allows you to enable or disable the placement, destruction, or editing of new objects within specific areas of any scene. The area can take two configurable shapes, such as size or position (Spherical, Bounds).
-- Building Part --
Each object you wish to place, destroy, or edit in your scene must have this component. It contains multiple settings to identify it, manage its model, handle its settings in preview mode, and manage placement/destruction/edition conditions via the condition system.
Model settings: Allows managing multiple models of the same type while keeping their settings. This can be very useful to avoid having to create a new component each time if only the appearance of the object changes while the shape remains the same.
Preview settings: Fully customizable, including the preview material, color, transition animation between colors, movement type (normal, grid, smooth), adaptation according to the viewing angle (with axis selection), rotation of the preview along any axis, a directional indicator for the preview's orientation, options to rotate or maintain orientation during snapping, capabilities to clamp or offset positions/rotations, the ability to move the preview only if placement is feasible (remaining at the last position otherwise), and the option to deactivate specific scripts/renderers/gameObjects during preview mode.
Condition System: Activate or deactivate each of the following conditions per object according to your specific needs:
Physics Condition: Adds stability points to your objects for stable placement and triggers object falling if stability is compromised, such as during support destruction.
Collision Condition: Manages collisions with the possibility to enable or disable specific ones.
Terrain Condition: Detects Unity Trees in the vicinity to prevent placement too close, including an option to remove grass upon object placement. It's important to note that this condition only works on Unity Terrain.
NavMesh Condition: Dynamic navigation for your AI Agents to avoid newly placed obstacles, such as walls, for example.
-- Building Socket --
Snap any object you have created or already existing in the project to a specific position/rotation or scale. It enables the definition of multiple building types on a single socket to facilitate the addition of new buildings and optimize performance more effectively.
-- Building Manager --
Referencing only the objects that will be used for each scene to avoid loading unnecessary references and to organize a large number of building parts according to the requirements.
Includes optimization features to reduce draw calls and optimize rendering based on the camera view.
-- Building Saver --
Saving and loading of previously placed Building Parts in each scene. The data is serialized in JSON format. Each file is named after the scene on which it was saved, allowing each scene to have its own file.
-- Custom Editors --
Simplifies adjusting and overseeing the system's features with custom editors for each component, making it simple and clear. Includes a set of highly innovative tools to facilitate the process of adding new building components, such as a real-time preview system during socket configuration, as well as collision and physics management within your scenes.
-- Mobile Platform --
Work on any mobile platform, including Android or iOS, with a demo scene included.
-- Development & Resources --
API: Full source code and detailed documentation.
Additional Resources: Includes demoscenes, add-ons & integrations.
Third-Party Notice: Incorporates resources under CC0 1.0 License.