Modern MMORPG Locomotion System

Easy Swim Component Integration Guide

Step 1

Migrate Easy Swim

Step 2

Delete and retarget Easy Swim Skeleton

Navigate to the Easy Swim skeleton and try to delete it.

Click Replace References and select the MMLS skeleton.

Step 3

Add Easy Swim Interface on your character

Step 4

Add EasySwimComponent and Rename it


Click on “Add Component” and type easy swim. Rename the BP_EasySwimComponent to SwimComponent.

Step 5

Copy Paste the”Swim Events” node from Easy Swim Character to MMLS Character.


Step 6

Copy Paste the “IsSwimming” Macro


Copy the IsSwimming Macro in the Easy Swim Characte.

In MMLS Character, right-click the Macro tab and select Paste Macro.

Step 7

Add Swimming inputs on sprint

Step 8

Add Swimming inputs on left and right

Shown here is the setup for the Left input.

The right input is the same except remove the Multiply(-1) node before Scale Value.

Step 9

Add Swimming inputs on backward and forward

Shown here is the setup for the Backward input.

The forward input is the same except remove the Multiply(-1) node before Scale Value.

Step 10

In Project Settings -> Collision

Add 2 new Objects Channels called Water and Negation. Select Overlap as Default Response

Step 11

In SwimComponent -> Swim Swttings

Make sure the Swimming Collision is set to the right channel. It should be by default if you didn’t have any object channel set up before.

Step 12

Copy Paste Swimming anim graph node

In AnimBP_Character from Easy Swim, copy the linked anim graph and paste it in the MMLS anim BP.

Place it at the end just before the “Output Pose”

Step 13

Copy Paste “Set Swim Variables”


Copy “Set Swim Vars” from the AnimBP_Character.

Paste it in the MMLS Anim BP -> Event Graph -> Each Frame.

Right click on the greyed nodes and select “Create Variable”


Place a BP_EasyWaterVolume in your level to test out the swimming.

As you’ve probably noticed this guide is just a last minute override of the MMLS system with the Easy Swim system. Some work will be needed to make the swimming game-ready but it is still a very good start.