VR Expansion Plugin

Pushed a new commit to the plugin and template, merged unstable branch of template into master. is likely the last major change commit before 4.16 releases, need to iterate over finding any bugs before release.

Template changes (4.16)


Moved gameplay tags into a data table

Made gun example a Client_Authoritive grip

Fixed some gameplay tag nodes in the character, added a fallback secondary release
with trigger release if an object doesn't have any secondary drop tags.

Changed the RIP motion to have "with hands" and "without hands" influence.
Also fixed the low end velocity, should have only been the head.

Modified all template objects to use the gameplay tags for drop buttons and secondary grip
drop buttons.

Modified the blueprints in the vr character to support the gameplay tags and cleaned them
up in general.

Added DefaultGameplayTags.ini to repository,  contains the generic default tags currently
in use in the template project.

Cleaned up most of the character blueprints

Now using the FTransform_NetQuantize in character RPC's that send a transform

Gun grip location equality check is now checking within two decimals of precision
due to the new NetQuantize transform.

Now destroying teleport controllers when the character is destroyed.


Plugin changes (4.16)


Made auto drops plugin wide call DropObjectByInterface instead of just drop object.

Local only grips now replicated to non owning clients to take the workload off of the users.
Client still has total authority over the initial grip so it is instant. Secondary grips and drops
are also auto replicated to the server and then down to non owning clients.

Other custom changes like offsets and grip types will have to be manually handled for Client_Authority
(local) grips still.

Renamed LocalOnly_Not_Replicated movement type to ClientSide_Authoritive


Added gameplay tag interface and a gameplay tag container to each grippable component/actor, allows for extremely
flexible object management without enforcing gameplay systems. Used in the example template
for defining if an object drops with specific buttons and a few other things. Is an
optional feature, you don't have to use them if you don't want.

Now that gameplay tags are an official part of the engine they should be first class
citizens in the plugin.

Made Gameplay tags on grippable objects replicate with the bRepGripSettingsAndGameplayTags boolean


Removed the ObjectType function/variable from the VRGripInterface, close to useless when
compared to the gameplay tags, I don't know if anyone was using it anyway.


Fixed a packaging error with the make / break functions for the Transform_NetQuantize struct.

Added Blueprint make/break and conversion functions for the new FTransform_NetQuantize struct

Added some utility functions GetGrippedObjects, HasGrippedObjects

Now clamping secondary grip lerps