A data-driven interaction system that allows you to easily create and edit all interactions for your game with little to no code required.Demo scene is URP only.The Snog's Interaction System is a complete, data-driven framework designed to save you hours of development time. This asset allows you to create and edit any type of in-game interaction through an intuitive editor window.Whether you need to open doors, pick up items, talk to NPCs, or trigger complex events, the system will doo all the hard and boring work of making your wolrd interatible.FeaturesLittle Setup Required: The asset works right out of the box. Just import, create the interactions in the editor window and you're ready to customize it all.No-Code: Create, edit, and delete interactions using the Interaction Creator window. Define names, UI prompts, and interaction keys with a few clicks. The system automatically generates all the necessary scripts and assets for you to customize the interaction. Simply open the auto-generated C# script and fill in the Execute method.Easily Extensible/Customizable for Programmers: While no coding is required to get started, the system is built on a clean, interface-based design. Based on a ScriptableObject architecture, each interaction is a self-contained unit. This makes your project clean, easy to manage, and scalable.How It WorksOpen the Creator: Launch the Interaction Creator from the Tools menu.Create: Define a new interaction (e.g., "OpenDoor"). The tool generates a new customizable C# script and all required assets.Implement : Open the new script and add your unique gameplay logic to the Execute method.Assign: Add the InteractibleObj component to any object in your scene and type in the interaction name ("OpenDoor") and add the Interactor to the player.It's that simple. The system handles detection, UI prompts, and input automatically.Roadmap & Future UpdatesThe Snog's Interaction System is actively developed and supported. Your purchase helps support the development of these future updates!(Done) v1.0: Initial ReleaseInteraction Conditions: Add an easy-to-use condition system directly in the editor, allowing you to create interactions that only work if certain conditions are met (e.g., "Player has the 'Gold Key' item").Dynamic Prompts: The ability to easily switch an object's prompt text after an interaction (e.g., from "Press E to Open" to "Press E to Close").Hold: Support for interactions that require the user to hold down a key for a certain duration (e.g., "Hold E to unlock").(Considering) Outlines: Built-in support for easily adding common visual feedback, like utlining the object when the player looks at it.Have a feature you'd like to see? Let me know! Contact snogdev@gmail.comCore Components:Interactor: Raycast-based component for detecting interactable objects with a specific tag.InteractibleObj: Component to make any GameObject interactable by linking it to an Interaction Type.Interaction Registry: A ScriptableObject that serves as the central database for all interactions.Editor Tool Features:Create new interactions (auto-generates a simple C# script to customize, prompt asset, and type asset).Edit existing interactions (modify prompt text and key).Safely and easily delete interactions.Technical Specs:Zero-Setup Initialization: The system initializes itself automatically at runtime with no manual setup required.ScriptableObject Architecture: Highly modular and data-driven.Dependencies: Requires the TextMeshPro package for UI prompts (automatically installed by Unity).Full C# source code included.Includes comprehensive documentation and a ready-to-use demo scene.Compatibility:Made with Unity 6000.0.23f1.Supports all render pipelines (Built-in, URP, HDRP).Support:Detailed documentation included.For questions or support, please contact snogdev@gmail.com.