You should not really use RegisterForUpdate unless it is absolutely necessary. Using PreHook is going to be simpler, and your code will only be run when the weapon is sheathed or unsheathed.
Using PreHook essentially makes it a 'custom' event. Plus, you'll get instant feedback rather than having it delayed by up to a second.
|