Join us on Discord!https://discord.gg/MpKRPPpWanna know what we are working on or what is coming to Weapon Master in the future? Check our Trello!https://trello.com/b/Cr9rpmjL/weapon-master-vr
At its core Weapon Master VR is designed to be complex yet easy to use blueprint weapon system that will help you jump start your VR game development. A product of over 300 hours of development, Weapon Master gives you access to an ever growing feature set that is both powerful and easily extendable. Creating objects to pick up and interact with is as easy as providing a mesh and extending the appropriate class, or if you are looking for more "turn key" solutions Weapon Master, as of Version 1.0, has four ready to use weapon types including magazine firearms, and the bow and arrow. Along with an intuitive inventory system, and roomscale ready locomotion, we hope the full gamut of features in Weapon Master helps you achieve the game you wish to create.

Over time we hope to grow Weapon Master VR into the most comprehensive VR weapon system available on the Unreal Engine Marketplace.

Note: Weapon Master VR is not currently multiplayer ready.

Version 1.0.1 Overview

Preview

Example Level

Magazine Firearms

Basic Firearms

Bow and Arrow

Features:
VR Character - Class that handles all interaction, and works as both an ammo repository and an inventory.
Traditional Locomotion - Traditional locomotion with collision that works regardless of where you stand in the roomscale playspace.
Directional Teleportation - A comfort mode that allows teleportation similar to traditional movement but without possible nausea.
Static Mesh Pickup - Class that can be extended to pick up a static mesh.
Skeletal Mesh Pickup - Class that can be extended to pick up a skeletal mesh.
Basic Firearms - Simple guns that function more like weapons in traditional games and use traditional ammo handling (Pistol and Assault Rifle included).
Magazine Firearms - Advanced Firearms that use external or internal magazines and feature fully interactive weapon handling (Pistol, Assault Rifle, and Shotgun included!).
Attachment System 1.0 - Firearms can attach scopes, iron sights, and flashlights to guns set to accept them. Guns can even be set to spawn with attachments (ACOG Scope, Ironsight, canted Ironsight, and flashlight attachments included!).
Recoil - All firearms have fully adjustable per shot recoil.
Bloom - All firearms have fully adjustable per shot inaccuracy.
Stabilization system - Use your off hand to stabilize the weapon and reduce recoil.
Two Handed Aim - Use your left hand to help aim long guns.
Bullet System - Both hitscan and projectile bullets (Can be bypassed to us a third party system if desired).
Effects system - Create arrays of hit effects, hit sounds and bullet decals and let the system spawn them randomly on hit.
Bow and arrow - simple bow and arrow system.
Sounds - demo sounds for each weapon.
Test AI - Simple wander and attack test AI with zombie character.
Zombie Wave Example Level - Level that shows everything off in a game like setting.
Shooting Range Test Level - Level that works as test range for weapons and features.

How To Set Up Weapon Master VR (Marketplace Version)

Warning: It is not recommended to migrate Weapon Master VR into a already created project!

Recommended set up procedure
1. Select Create New Project using Weapon Master Asset in MP Vault
2. Name your new project
3. Select engine version
4. Hit create
5. Migrate files from your old project (if you have one) into this new project.

Bug Fixes:
-Firearms will no longer continue firing after being dropped.
-You can no longer have two ironsights on simple weapons. (Cuz that is OP!)
-Collision channels streamlined and re-purposed.
-Fixed bug where the arc of the teleport would disappear
-Melee weapons should more reliably do damage when stabbing

New Features

-In game Menu (BP_InGameMenu): press menu button on your off hand to open the menu. You can set Movement mode, Main Hand, Show FPS, Double Tap To Drop, and Dynamic Main Hand in the menu.
-The In Game Menu saves your options and loads them every time you start playing.
-Knife melee weapon added
-AI Can now support death animations and turn off Ragdoll.

New Level
-New Tutorial level added with some explanation of the features of weapon master vr.

BP_MotionController
-Due to problems with epic's teleportation and our zombie level I have further expanded upon the teleportation logic. If you want to use epic's navigation based teleportation in its stock state you need to set bUseOriginalTeleportation to true in the Movement section of BP_VRCharacter variables.

BP_MeleeAI_Character
-new bool variables that will help you handle characters dying with animations
-bUseDeathAnimation: true if you want to use a death animation
-bUseRagdollDuringDeathAnimation: true if you want to use a ragdoll at some point in the death animation. Note: You will have to call PointDamageRagdoll, or RadialDamageRagdoll, events from notifies in your animation to get this to work right.
-bApplyImpulseOnDeath: Whether or not you want to apply force on a character upon death.

New Blueprints
-BP_Console: Used for setting up the demo room consoles.
-BP_InGameMenu: In conjunction with new Wiget Blueprint WB_InGameMenu the in game menu functions!
-BP_WMSave: Save state blueprint used for saving and loading options in the menu.
-Struct_PlayerOptions: Easy way to organize options for passing to other blueprints.

Other Changes
At metric ton of work has gone into commenting and organizing weapon master for sale on the Market Place. Everything should follow a fairly obvious naming scheme which should be great for those of you using source control!

Version 1.0.1 Patch Notes

VR_Character
Now extends from motioncontrollerpawn in Epic VR Template
Now has 4 movement modes (Teleport, Simple Move, Directional Move, Directional Teleport)
Supports Left and Right handedness
Main Hand variable sets what the main hand is. Main hands are defined as the hands that can hold weapons that use the trackpad. Off hands are hands that can do movement.
bUseDynamicMainHand will allow the player to dynamically change which hand is the main hand based on what hand they pick up a weapon with. Note: This feature currently doesn't work when unholstering but will in 1.0.2.
MovementModes array is where you set the desired movement modes for the character. MovementMode variable is the starting mode and the current mode.
All button logic is passed onto the VR_CharacterHand blueprint to handle (Two of these are spawned at begin play.
VR_Character overrides motioncontrollerpawn's begin play but sets things up almost identically.
Player data hand now dynamically attaches itself to the current off hand.
New Functions: InitializeUI, SetPlayerDataHand, ChangeMovementMode, InitializeMovementMode, SetMainHand, GetOffHand.
New Variables: RightHand, LeftHand, MovementMode, MovementModes, MainHand, bUseDynamicMainHand, DoubleButtonToDrop, PlayerDataLeftHandAdjustTransform, PlayerDataRighthandAdjustTransform, 9mm_Ammo, Max9mm_Ammo, 762x39_Ammo, Max762x39_Ammo, 50cal_Ammo, Max50cal_Ammo, 40cal_Ammo, Max40cal_Ammo, 338L_Ammo, Max338L_Ammo, 300B_Ammo, Max300B_Ammo, 38_Ammo, Max38_Ammo

VR_CharacterHand
Extends from BP_MotionController
Handles all input calls to weapon master objects and VR_Template Objects
Overrides GrabActor, ReleaseActor functions of BP_MotionController
Overrides ActivateTeleportation function of BP_MotionController
Uses its own Rumble Functions that are based on the functions in BP_MotionController.
Two of these are spawned on Begin Play
Weapons you pick up are attached to the scene component Attach Point.
Trigger is now the pickup button Note: In the future I will add the option to have grab be the pickup button again.

BP_PhysicalMagazineFirearm and BP_SimpleFirearm
Simplified stabilization logic that now should keep from unwanted stabilization events being called.
Added in an AttachmentMode (Main hand menu button) that will allow you to remove attachments. Note: Attachments cannot be removed if attachment mode is not on.
SideAttachment Illumination On/Off is now triggered by the right track pad button on the main hand.
Added in a lot of rumble events. Please tell me if you like them or not.
New Functions: CheckForAttachment, SetAttachmentZoneVisibility, ShowAllAttachmentZones
New Variables: bDetatchmentModeOn, HandInteractionIntensity, HandInteractionDuration, WeaponInteractionIntensity, WeaponInteractionDuration, WeaponFireIntensity,WeaponFireDuration,WeaponReloadIntensity, WeaponReloadDuration.

BP_MeleeAI_Character (Name Changed)
under AI SetupVariable Group Added AIMesh and AI_AnimBlueprint variables. Note: These are part of an engine bug workaround that deletes mesh variables every time the engine is started. Hopefully this is fixed soon and this workaround can be removed.
Set AIMesh to the desired mesh for AI
Set AI_AnimBlueprint to the desired animation blueprint for the AI

BP_MotionController
In order to get teleport to work correctly I had to bypass the navmesh part of the Trace Teleport Distance Function and set the return value bool to return node success.
Create downward vector set to -2000 instead of -200 to properly find floor when hitting a wall
Both changes are easily reverted, if you need to know how please ask.

Comment

Are you talking about using bipods as an attachment with weapons? If so the video today wont cover that, the type stabilization I am talking about is placing your offhand on a stabilization point (like the front handle part of a rifle) and having the recoil be less than when you "Fire from the Hip".

We want to try and tackle bipods with the bolt action/sniper rifle update but I am not sure it can be done without custom C++ scripts that mess with how collision is handled with attached actors. That doesn't mean I wont try and figure out a way because I think it would be awesome to have fully working bipods.

There is a lot of weapon handling stuff that I want to research adding in as well (using both hands to adjust aim, aka moving the pivot point, ect) but we want to keep this blueprint only if at all possible.

After the initial release the big emphasis is going to be on bug fixes, attachments 2.0 and getting breach loaders, revolvers and bolt action guns in.

Comment

My hope is to have it submitted by the end of January. I should be finishing Stabilization this weekend and I will be doing the two example levels next week. As long as we don't run into trouble recording the sounds we need I believe I should hit that date for submittal.

Comment

Does this have 2 handed rifle support? I may as well get this instead of struggling to make my own.

Depends on what you mean by Two handed rifle support.

Right now if you move your off hand into the stabilization area and press that controller's trigger you will "attach" the offhand and stabilize the weapon (lowers recoil). You can even drop the rifle with your main hand and it will remain attached to your off hand (for bolt action rifle manipulation). If you want both hands to affect aiming, that isn't currently in, but I plan on adding it at some point as an option (don't quote me but I want this in for the first update if at all possible).

Just a heads up everyone, stabilization has taken longer than I initially expected because I am trying to write a system that will work with future attachments like grenade launchers as well. So far I have gone through like 5 different versions until I landed on the one I am currently bug testing. The vive's lack of buttons has made it a huge headache, I cannot wait for the new controller! The video is late in coming but I hope to have it out by tomorrow at the latest.