UDevLemon - Modular Low Poly Robots

***Monthly Unreal Engine Sponsored Content product for June 2021***

Check out UDevLemon's other products here: UDevLemon Content

Video: https://youtu.be/Ds8enn1vSPY

Playable demo: https://drive.google.com/open?id=1gnG_Fc-vW6QxGOifsBXdkJrf0G53ZpGH

The pack includes 8 types of weapon modules, 12 types of case modules, 10 types of chassis modules and universal sphere trace based movement system for all chassis.

All parts of the robots are designed in low poly style and have 2 material slots (black and white palette and color material). Some parts have more materials, such as tank chassis (2 more slots for track materials). 

The robot chassis are made with skeletal meshes and have animated blueprints. The movement system of all types of chassis is built with universal component that can be used in different types of chassis. This is a simple system may be used at different platforms. Watch the motion system work in a demo video.

The pack includes an example system for creating a robot during the game. 

NOTE about UE5 - I am going to update this asset to add UE5 support, but I meet some engine bugs with physics constraints (they are not critical, but I want this asset to work perfectly). So I will add UE5 support when this bugs will be fixed.

UPDATE 2 (24.05.2021)

  • Added path driving component for robots AI

BIG UPDATE (12.03.2021):

  • Added multiplayer support
  • Improved stability of the movement system
  • Improved "wheels" interaction with simulated objects
  • Many minor fixes

Will this ever be updated?

In case anyone else hits this problem- The wheel trace component does NOT differentiate between overlap collision and blocking collision. The fix is not too hard- In BC_SphereTraceWheel→SpheretraceWheel (and possibly line trace) swap out SphereTraceForObjects with MultiSphereTraceByChannel. Followed by adjusting WheelCompute to use the first Index after the call.
I’m still learning with Unreal so if anything sounds off or could be done better, I’d like to know (IE I’d love to not limit to the first index on the returned objects). Doing it this method avoided collisions with trigger and detection zones I was running into (pun intended), but may be better solved by creating some other collision response groups?

-GP