Przeskocz do zawartości
Multimedia 1 dla listy Grid Placement System
0 comments

Opis

Grid Placement System

A powerful and flexible grid-based object placement framework for Unreal Engine 5.
It features precision controls, multi-surface support, and intuitive UI components - making it perfect for any builder games.


Playable Demo : HERE

Preview Video : HERE
Documentation : HERE

Public Discord : HERE

  • Plug-and-play into any project

  • Procedural infinite grid material

  • Snap-to-grid placement with fully configurable sizes

  • Multi-surface support (floors, walls, roofs)

  • Precision (free-form) mode for detailed adjustments

  • Real-time placement validation with clear error feedback


    🎮 Input & Camera Integration

  • Built on the Enhanced Input System

  • Customizable Input Mapping Contexts

  • Works seamlessly in both FPP and TPP

  • Runtime camera optimized for placement mode

  • Full keyboard and mouse support out of the box

    🎨 Visual Feedback

  • Grid per surface

  • Color-coded indicators (Green = valid, Red = invalid)

  • Preview meshes with outline materials

  • Directional arrows for easy orientation

    🖼️ UI Components

  • Ready-to-use widgets for object selection

  • Category-based filtering and search support

  • Customizable item widgets

  • Simple integration with your existing UI

    ⚙️ Developer Friendly

  • Full Blueprint and C++ support

  • Modular, component-based architecture

  • Exposed settings for quick iteration

  • Easily extensible for custom workflows

🚀 Quick Setup

  1. Only needs 2 Components
    Add these to your Player Pawn Blueprint:

    class UPlacementSystemComponent* PlacementSystem;
    class UPlacementObjectRegistry* ObjectRegistry;

  2. Initialize the System
    Call: InitializePlacementSystem(); via PlacementHelper in Blueprint.

  3. Register Placeable Objects
    Use: RegisterObject(); via PlacementHelper // For individual placeable object

    or define them in FPlaceableObjectDataTable.
    Both methods work seamlessly.

  4. Create UI
    Use the built-in default UI, or seamlessly integrate with your own custom UI.

  5. Start Placement
    Begin placing objects with:

    StartPlacing(AMyChair::StaticClass());

Build your own Sims-style creative experience, and happy runtime designing!

Uwzględnione formaty