A downloadable add-on

Get this add-on and 1 more for $19.99 USD
View bundle
Buy Now$14.99 USD or more


The default implementation of dual wielding in RPG Maker MV is pretty lackluster, an actor who is wielding two weapons strikes once, with both animations from his weapons showing simultaneously, and damage of that one hit being calculated with all of the traits of both weapons. This can make for some weird synergies, like equipping a weapon with a high hit % to offset the low hit % of a much heavier hitting weapon, or taking advantage of double elemental weaknesses with one powerful hit causing all kinds of balancing problems. Not to mention the fact that a dual wield actor can ever only wield weapons in his hands.

This plugin changes all of that. Dual wield actors will now strike twice with normal attacks, each individual hit will show its own weaponsprite and animation, and will do damage and added effects solely based on the weapon being swung. Additionally, being a dual wield actor doesn't limit you to using only weapons in your offhand anymore, shields are available to everyone!

More info:

The above features are 100% plug and play. The plugin does all of the heavy lifting for you. But there are a lot more granular changes that more advanced users can take advantage of as well.

  • Weapons can be locked to <Mainhand> or <Offhand> only.
  • Weapons can also be <Twohanded> which will prevent even using a shield in their offhand. This tag doesn't only apply to dual wielding actors, either.
  • Shields can be marked <Offhand> which denotes them as being light enough to use together with a two handed weapon.
  • Configurable penalties/bonuses for dual wielding, wielding an offhand weapon, or two-handing a weapon.
  • Skills can be tagged as <Mainhand> or <Offhand> as well, which will cause them to only use the images, animations, and parameters of the item in the hand chosen.

I have also created a menu extension plugin for this one, which modifies several default menus, as well as several menu scenes added and upgraded by the Yanfly plugin suite, to show updated information. 

The menu extension add-on included with this plugin can also display features from my shield block plugin as well. For actors who are using a shield in their offhand, their block chance will be shown in menus in the place where their offhand attack value would've been shown if they'd been wielding a weapon.

This plugin requires the use of Yanfly's Battle Engine Core plugin.

For more advanced information see the documentation.

Terms of Use:

  • You may use this plugin in free or commercial games
  • You may use this plugin in as many projects a you like.
  • You may not share this plugin, or the demo project with anyone else.
  • You may modify this original script in any way you see fit, but you may not claim full ownership of the resulting edited file.
  • You may share edits you made to this script publicly, but only as standalone extensions to this plugin, meaning that your modifications cannot be used without also owning this plugin.

Updated 12 days ago
Tagsjavascript-plugin, RPG Maker


Get this add-on and 1 more for $19.99 USD
View bundle
Buy Now$14.99 USD or more

In order to download this add-on you must purchase it at or above the minimum price of $14.99 USD. You will get access to the following files:

Dual Wield Plugin 54 kB
Menu Extension Plugin 109 kB
Olivia WeaponSwap Compatibility Fix 6 kB
Demo Project 33 MB

Development log


Log in with itch.io to leave a comment.

Hello Ramza, I've been playing around with this plugin now for last few days and I've noticed that the longer a Action Sequence is, the more delay before the attack will go off.

I can't be 100% if it isn't some other plugin also clashing, but simply turning yours off, will make even a very long Action Sequence go back to no delay, even if the character does not have dual wield, if your plug is on will cause this delay. 

Have you noticed or seen this at all, is there anything that can help with this, or is this just simply the nature of it, with how much it needs to do?

At which point are you noticing delay? For dual wield actors, and only when using a dual wield skill (one tagged as dual wield) this plugin does copy sections of the target action and replays them, but only if you've got it set up to do that. If you're not using it in that way, it shouldn't cause any delay to the actual action sequence, and even in the above example, it shouldn't cause any noticeable effect.

Between when you select the skill and then it happening, which I am talking about when an Action Sequence, gets to like a point where it's around 100 lines or more, you start seeing like 1,2,3 seconds of delay past that kind of point. Even if the skill isn't dual wield, but you plugin is active it will cause this, when yours is off it has no delay even at that amount of lines, you could probably see for yourself if you copy and past just a normal attack sequence, a bunch in an action sequence and can find out if you have it also.

it isn't exactly something that causes it to become usable, just need to try more optimize them better if they are one that gets to be so long, just thought id see what you think, since base Action Sequence doesn't seem to have this happen to it.

I'll take a look and see what I can find.

Hey Ramza, I just recently bought this plugin but whenever an enemy performs an action I get hit with this error:

I don't have a clue how this works, though it seems to work fine in your demo project.  Besides one plugin for move routes I'm only using Yanfly plugins, and I've tried positioning yours in   different places to see if it was a loading issue. I also haven't made any tweaks to the base settings, I just applied dual wielding to a party member and tested it.


Hello there.

It would appear that this is an uncaught bug caused in v2.55, when I added some checks to lock main or offhand weapons on actors who were using skills that required a specific weapon type. It looks like after this update I was also checking for locked weapon types on enemies, who don't use weapons, and therefore throw this error.

I have uploaded a fix, and apologize for the inconvenience. The reason why it worked in my demo project was because the uploaded demo project is using an older version of the plugin. Redownloading the plugin file from the download page will show it updated to v2.58 with this fix included.

Thanks for reporting this issue.

Wow that was fast, thanks a tonne!

Hi Ramza, I am really liking your plugin! Thanks.

I have a question about an issue I have. When using your plugin, it appears that the only choice we have two single attacks, or turn off bare hand for single attack when Mainhand only is equipped.

My issue is that when using a Bow with arrows via Uconnected42's ammunition system, there is no way to combine the values of mainhand and offhand into a single strike. Like what an arrow would do.

I have the bows equipped to Mainhand and the arrows (also a weapon) on the offhand. This setup works perfectly for UCONN_AmmunitionSystem because I have to be able to equip the ammo.

Is it possible to add an option via notetag to combine main an offhand into a single strike on certain weapons?

Thanks for your attention!:)

I'm not familiar with that plugin. However, the 'disable state' option in my plugin 's parameters can be used for exactly the scenario you describe. Try putting it as a passive on the arrow weapons and see how it works out.

I'm honestly not sure how it will work out with the arrows being weapons, though, so you might need a more creative workaround. Technically, you could make them shields and they'd still fit in the offhand, and their base parameters would be added to the single attack of the main hand weapon in that case. They'd need to be etypeId 2 specifically for that to work without modifying my plugin, though. You'd probably need some special equipment requirements to prevent a player from equipping arrows as a shield without a bow, or something as well.

Thanks for the reply, completely unblocked my mind AND it worked perfectly!

What I did was this. Set your plugin disable state to stateID[##], then using Yanfly's AutoPassiveStates, applied a passive "Archer" (also stateID[##]  to the bow weapons. Worked like a charm. Now my Rogue type classes can use both dual hand daggers and single hand bows with arrows in the offhand, and both perform perfectly.

Uconns ammunition plugin needed a little tweaking because it's not technically supposed to allow using a weapon as ammo, it wants to use items, or weapons as the ammo themselves (like throwing stars, and knives). I tried making the arrows armor, and while Uconns plugin says it will allow that, it wasn't calculating the damage multiplier correctly, probably a bug. Who knows'?

In any case, THANK YOU! for the quick reply. It's awesome to have such a helpful community like RM's. Your plugin in particular is key in my project for making things "Feel" authentic to the source material.

Hey there Ramza. I have been having an issue that I have not been able to find a solution to and I was hoping you could maybe take a look. What is happening is whenever I use a skill that has a weapon requirement and is being used by a dual wield class. If one of the hands is unarmed I get a crash.

I have tried adding the various skill tags but none have helped keep it from crashing. I have also tried setting the barehanded attack parameter to true and false and neither changed anything. 

Here's the crash notes:

YEP_CoreEngine.js:1098 TypeError: Cannot read property 'wtypeId' of null
    at Game_Action.applyDWAddEffect (Ramza_DualWield.js:598)
    at Game_Action.apply (Ramza_DualWield.js:553)
    at Game_Action.apply (Ramza_DualWield.js:1110)
    at Function.BattleManager.invokeNormalAction (rpg_managers.js:2549)
    at Function.BattleManager.invokeAction (YEP_BattleEngineCore.js:2095)
    at Function.<anonymous> (YEP_BattleEngineCore.js:2707)
    at Array.forEach (<anonymous>)
    at Function.BattleManager.actionActionEffect (YEP_BattleEngineCore.js:2704)
    at Function.BattleManager.processActionSequence (YEP_BattleEngineCore.js:2300)
    at Function.BattleManager.processActionSequence (YEP_X_ActSeqPack1.js:886)

Sorry to bug you with another issue but I have been hitting a wall trying to fix this myself. Thanks for taking a look if you do.


Greetings. Don't ever feel like you're bugging me by reporting an issue like this, it's no trouble at all. It's my fault, really, as this is definitely a bug I introduced in the last update. 

I'm not at a computer right now, but when I get home in a few hours, I'll look into it. Given the error message, I forgot to account for an empty hand when an actor was dual wielding, something which I thought I'd accounted for, but I must've missed a check.

Like I said, I'll look into it when I get home in a few hours and post an update.


Greetings again. I have corrected the problem.

I had thought that I had tested the logic quite thoroughly on my own, but it turns out I must've skipped the checks to see if having no weapons in either hand would cause a problem. I have added the required checks, and the project should no longer crash when either of the actor's hands are empty, when using a skill that requires a specific weapon type. Please download the updated plugin file at your earliest convenience.

You're the best. I tested out the new plugin and no more  crashes. A huge thanks from me. And you got that fix out so fast, you're a magician. This has become my favorite and most needed plugin by far. Keep up the great work. Thank you so much.=)

Hello Ramza !

I used your plugin, that I download long time ago (V1.05). But I have an issue with and was wondering if buying the update version would help me.

I have 2 characters with the habiliy "Dual Wielding" let's say A with a sword and a knife. and B with 2 Claws.

During the first tour, everythings is normal A and B use their weapons.

Then after a few turn (and some time even between 2 différents fight) the weapon seems to be exchange or thing like that.

Like The A has a Claw and a Sword and B has 2 knife (I'm just talking about the image when using skill, not the equipement). I don't have this problem if only one of my character use Dual Wielding.

Have you seen that already and does the new version fix it ?
Thanks a lot anyway !

Good day Gregaur-X.
If you are actually using version 1.05 I have to commend you on actually even getting it to work at all! Way back in June 2017 I scrapped the old version of this plugin and rewrote it as version 2.0 and it has had numerous updates and fixes since then. I was having problems similar to the ones you mentioned, as well as issues where weapons would lose their stats entirely. The way I had written it was too obtuse for the average person to even figure out how to use it (myself included), so I rewrote it to be a lot more user friendly. 

Version 2 was almost exactly the same as version 1.05, except it was plug and play. You didn't need to call any functions during your action sequences, or set up anything before the swing, when you attacked it hit twice, and looked different if you had two different weapons, and that was all it needed to do.

I can tell you for sure and without a single doubt that if you purchase the new version of the plugin you will not run into this problem any more, although you might have to change some stuff on your action sequences around to make them work again.


All right Ramza, I know what I need to do now ;) Thanks !


Um, hello there, I seem to have a problem  with the plug-in, It seems that whenever the dualwielding  character attacks, it happens twice like it should, but they do not use the weapon equipped in their offhand, instead they use barehanded, and for more information if it helps, when I disabled the barehanded attack parameter in the plug-in, the character actually does attack with a weapon in their offhand but its just seems to duplicate the main weapon and even then, after the first turn the ofhand weapon seemingly disappears, I double checked the inventory afterwards to confirm. This has been happening with my main project and I made a fresh project with only the dualwielding plug-in and YEP's battlecore engine (both unedited) to test and I still get this problem, any help would be appreciated!

I have seen this issue before in the past, so I suspect the cause is the same.

You are using a weapon to enable dual wielding on the actor. Likely the mainhand weapon, based on what you've said so far. 

During the attacks, each weapon is temporarily unequipped to remove all of the traits from it when it isn't being used. The offhand weapon is removed first, so the main hand swing will only use traits from the first weapon. Afterward, the offhand weapon is re-equipped, and the main hand weapon is removed so the same can happen with the offhand swing. When the main hand weapon is removed, your actor is updated to not be capable of dual wielding anymore, because the dual wield type trait is on that weapon. This removes his offhand weapon as well, causing him to continue the second strike, but with his main (bare) hand instead. 

After this happens, checking in the menu will show the offhand weapon as unequipped, and likely gone from the inventory as well.

To fix this, add the dual wield type to the actor, or class directly, instead of to the equipment he/she is wearing.

Sorry for the delay, I just got home to confirm what you said and I don't have the dual wield type on either weapon,  and I moved the slot type between both the actor and their class and it still does the same thing, based on what your explanation and what happens when I disable barehanded, the offhand seems to ignored completely, I've created several projects trying to figure out what I've been doing wrong and I just cant seem to find it 

Screeshot of the class

Apologies for immediately assuming that the problem was on your end, as it turns out, this is a bug introduced with the fixes posted for v2.52.  I'll spare the details, but the gist of it is that an if statement was worded incorrectly, causing the dual wield sequence to lose the offhand weapon. I have corrected this in v2.53, which should now be up for download.

The other issue with turning off the barehanded attack causing both swings to look the same is also a bug on my end, and apparently has been like that since I implemented that plugin parameter. A check that checks if the wielder is dual wielding fails at a certain point during the dual wield sequence, which causes the script to continue with a second attack, but assume that the actor is only wielding one weapon, making both hits main hand swings only.

I have also corrected this issue in v2.53. As I said, the download should now be available, so feel free to verify that it is now working.

Oh YES!! Looks like everything is working with the new version you put out! And I'll also confirm that problem as well as your fix fo the barehanded duplicate problem both are good. Thank you so very much for the help and no worries about the assumption, to be quite honest I just assumed I  haphazardly enabled a conflicting setting or something dumb like that haha. Regardless, I don't mind and once again, thank you for the timely response and fix!