Library Components
Specialized library components that handle specific aspects of the placement system, working together under PlacementSystemComponent's orchestration.
Component Architecture
Library components are automatically managed by PlacementSystemComponent, providing focused functionality for different aspects of the placement pipeline:
Specialized Components
GridSnapperGrid Mathematics
Handles all grid-based snapping calculations, object bounds analysis, and placement offset computations. Provides precise grid alignment with rotation awareness and efficient collision detection support for the placement system.
InputHandlerInput Management
Manages Enhanced Input system integration with clean separation between placement and toggle controls. Handles input mapping context activation/deactivation with proper priority management for seamless input state transitions.
ObjectManagerVisual Management
Manages preview objects, overlay visuals, and directional arrows during placement. Handles actor lifecycle, material management, and visual feedback coordination while ensuring proper cleanup and performance optimization.
PlacementCameraControllerCamera Control
Intelligent camera management that adapts to both Third-Person and First-Person setups. Creates temporary SpringArm for FPP projects and provides comprehensive camera controls with zoom, movement, and constraint systems.
PlacementValidatorValidation Logic
Sophisticated collision detection and placement validation using oriented bounding boxes. Provides intelligent object filtering, surface compatibility checking, and comprehensive debug visualization for accurate placement validation.
SoundManagerAudio Feedback
Contextual audio feedback system with smart throttling and volume management. Provides snap, placement, and rotation sounds with spatial audio support and intelligent spam prevention for enhanced user experience.
SurfaceManagerSurface Detection
Automatic surface discovery and grid visualization management. Detects tagged surfaces in the level, manages surface groups by placement type, and provides dynamic grid overlays that appear only when needed.
Component Coordination
Automatic Configuration
All library components are automatically configured by PlacementSystemComponent during initialization. No manual setup required - just configure the main component settings.
Efficient Communication
Components communicate through the orchestrator pattern, avoiding direct dependencies while maintaining high performance and clean separation of concerns.
Modular Design
Each library component focuses on a specific domain while working seamlessly with others. This modular approach ensures maintainability, testability, and performance optimization across the entire placement system.