When Sora first see the heartless and Roxas meet the nobody, their toy weapons don’t work. This made me think that you can only kill them with the Keyblade. Donald and Goofy were dispatched by the castle, so I would assume they get a specially crafted weapons, but then suddenly there are characters that are merely were involuntarily dragged into the fight yet can fight the heartless, like Leon, Tarzan, Simba, and any character you can name.
In that case, just what weapon that is valid weapon to fight the heartless? Why toy weapon don’t work despite theoretically can kill?