I'm a programmer and making an attachment system. Where you could have a weapon, and different components that you could attach to it, to give it extra behavior.

Example: an M16 and a: silencer, scope, laser, etc.

Now, I could call the components "attachments" - But what about the weapon? I thought I could call it "Attachee" but it didn't turn out to be an English word.

Also thought about "Attachable", but not sure about it... is it correct?

If not, then what is the right word?


  • Is this something used in a game? (Because it sounds like you are not looking for a variable name or a class name, but some terms used in the user-interface.) If it's so I might have some suggestions. Nov 23, 2013 at 17:56
  • For M16's, the word is rail, as in Picatinny Rail, Weaver Rail, Blackhawk Rail. (1,2) Nov 23, 2013 at 17:59

4 Answers 4


I would suggest extensible. Not all attachments are extensions, but attachments for a practical purpose generally are.

I assume you are talking about how the item is described to users. At the level of code attachee wouldn't be the worse name for an interface or base class; the rules of computer syntax and requirements of tightly defined relationships already lead to us often do what doesn't work in English, so attachee wouldn't be the worse coinage in that context, as horrible as it would in the actual user interface.


Personally, I would call it a "base unit" or "core unit" with attachments.

"Component" shouldn't be used, as the word implies a constituent part of the unit and not an accessory.

  • I was hoping I could use a word with the "attach" part in it... (attachee, attachable, etc) - it seems there's none? The problem with base and core, is that they're very generic - they have other meanings so they could be miss-leading and don't give the accurate meaning in the context it's used in.
    – vexe
    Nov 23, 2013 at 16:21

I will answer this by assuming that the words will be used in a computer game context. Hoping that it is not off by much.

Based on the game Battlefield 4 (I don't play the game myself), which I found a list of accessories and attachments for weapons used in the game here, they mainly use three terms for their weapon system.

  • barrel: the base that accessories and attachments will attach to
  • accessories: things like scopes and so on
  • attachments: heavy barrel, suppressors/silencers, and grips

I believe that you can use a similar model of weapon system in your game too.

  • Thanks for your answer - yes I'm making a game. However, "barrel"? - I'm not sure why they call their weapon like that... any idea what it means in this context?
    – vexe
    Nov 24, 2013 at 4:46
  • "Barrel" here is the tube part of a gun. The term can be used for guns of any size, from rifles to cannon. en.wikipedia.org/wiki/Gun_barrel has two nice illustration of barrels. Nov 24, 2013 at 4:56
  • Hmm, I don't think I'll be using that. For example: (not sure what it's called) a shoulder holder that reduces recoil and increases accuracy - I wouldn't say I'd add it to the barrel - it gets added to the back of the weapon. Another simple example: the weapon's clip/magazine.
    – vexe
    Nov 24, 2013 at 5:09
  • Ahh, perhaps that's why they also have accessories, beside attachments. Nov 24, 2013 at 5:12
  • Come to think of it, after looking a bit here and there on the web, I believe that there is no specific term but the gun or the weapon itself, since you want to be able to attach an attachment to not just one specific part of the gun. I would suggest that, instead of barrel, you can use terms such as weapon, gun, or even rifle if your scope is specific enough. Nov 24, 2013 at 5:34

In a programming context, I personally think there is nothing wrong with using attachee if you have an attachment, and they both share a one-to-one, both-way relationship. However, it sort of implies that attachee is a member of an attachment, and that wouldn't make sense.

If I were you, I would use weapon and weapon attachment to name my objects, since that implies that the attachment belongs to the weapon, instead of the other way round.

  • Thanks for your reply. I'm using Unity3D so I like doing things in a component-based manner. It makes sense for an "Attachee" to know about its attachments. i.e. a Berreta knows that can't hold an ak47 shoulder holder, it knows that it could have a silencer, a laser, a clip, etc. This information will be in the "Attachee" component. When an Attachment tries to attach itself to a weapon, I first make sure that it accepts attachments (by checking to see if the weapon has an Attachee component) then I see whether or not this attachment is supported by the attachee, if so add the attachment.
    – vexe
    Nov 24, 2013 at 4:50
  • About the relation between the attachment and the weapon, the weapon actually don't know about its attachments. it's the Attachee that knows. In the case of a laser for example, the attachment don't need to know about the weapon nor the attachee - the laser just turns on/off. But in the case of a silencer for example, it has to know about the weapon, so that it could do: weapon.fireSound = silencedSound;
    – vexe
    Nov 24, 2013 at 4:53

Not the answer you're looking for? Browse other questions tagged or ask your own question.