Skip to content

v1.0.1

Latest

Choose a tag to compare

@cem-akkaya cem-akkaya released this 11 Mar 12:54

This release introduces significant refactors and improvements to the MG Spatial Selection plugin, focusing on performance, modularity, and ease of use.
πŸš€ Key Features & Refactors
β€’
Hybrid CPU/GPU Architecture: Refactored the selection logic to use a hybrid approach. The CPU handles high-performance overlap detection using UBoxComponent, while the GPU manages pixel-perfect visual masking via Material Parameter Collections (MPC).
β€’
Enhanced Input Integration: Migrated selection triggers to the Enhanced Input system. The UMGSpatialSelectionComponent now automatically binds to a configurable UInputAction for seamless integration into modern UE5 projects.
β€’
Decoupled Selection Actor: Introduced AMGSpatialSelectionActor to encapsulate the physical selection volume. This improves performance by offloading collision updates and allows for more flexible visual representations.
β€’
Dynamic Material Feedback: Added real-time updates to Material Parameter Collections (SelectionCenter, SelectionExtent, SelectionOpacity). This enables "Terrain-Aware" selection masks that follow geometry without expensive CPU raycasts.
β€’
Selection Decay System: Implemented a smooth "fade-out" effect (DecayTime) for the selection mask after the user finishes their selection, providing a more polished UX.
β€’
Interface-Driven Interaction: Refined the IMGSpatialSelectionInterface to allow any actor to easily respond to selection events (e.g., showing a highlight ring or updating health bars) without tight coupling.
πŸ”§ Technical Improvements
β€’
Optimized Tick Management: Component and Actor ticking are now more strictly controlled, with UpdateThreshold checks to prevent unnecessary material parameter updates from micro-jitter.
β€’
Flexible Collision Filtering: Added CollisionChannels array to the component settings, allowing users to easily define which actor types (Pawns, PhysicsBodies, etc.) should be selectable.
β€’
Improved Life-cycle Management: Refined BeginPlay and EndPlay logic to ensure clean registration/unregistration of actors and proper cleanup of the transient selection actor.
β€’
Debug Visualization: Added a bShowDebug toggle to draw internal selection boxes and trace points, making it easier to calibrate the selection volume height and extent.
πŸ“¦ Demo Project Updates
β€’
Updated the demo project to showcase the new refactored plugin.
β€’
Included BP_TopDownCharacter and SelectionTestActor_BP as reference implementations of the new system.
β€’
Synchronized .gitignore and build dependencies for better compatibility with Unreal Engine 5.7.