Circling back to this one more time. Assuming you know the elementary stuff like events, functions, arrays, framework classes, referencing and basic communication… Even then, avoid making an entire game in one go. Break it down into smaller pieces and learn that piece.
- can you make a character navigate around? Enhanced Input + Control Rotation
- can you pick up and carry stuff on the ground? Line Tracing + Attach / Detach Actors & Component
- do you need physics when holding items? Physics Handle
- can you interact with various actors? Interface
- can you spawn new items? Spawn Actor from Class + Referencing
- can you place items down? Line Trace + Normal
- can you place items down with an animation? Timelines and / or Splines
- can you place items down without them overlapping? Extents + Vector Math & Rotators + Box Tracing
- can you snap to grid? Combination of above stuff + Vector Snapping + more Vector Math
- do you want it to be somewhat performant and simplify spawning? Instanced Static Meshes
- are you getting overwhelmed with classes? Inheritance
- too many variables to handle all of a sudden? Structs
- too much data to hard-code? Data Tables
I’d advise against the following but your mileage may vary:
- do not make a main menu, you’re just prototyping / learning
- do not start making a save game system
- do not make a player inventory of any sort
- do not overcomplicate the UI
- do not fixate on optimisation