It follows the actual motion controller, my plugin doesn’t have any way of knowing specifically what mesh you want to deal with. But that is why the PivotOverride exists, you can define any scene component as the controller pivot and all grips will be offset from there.
The plugin only has one grip type that is actually attachment, the rest are sweeps / physics grips.
I thought “rep grip settings” will also replicate grip scripts’ AdvSecondarySettings, but it doesn’t.
what’s the best way to replicate secondary grip influence (in a client auth situation) since you moved setting to grip script?
thanks!
edit: even if secondary grip influence is set as default value in a grippable bp (e.g. secondary grip shouldn’t influence pistols), setting is ignored server-side when the client grabs it (host take into account client secondary grip, client dont).
That said we need to change it at runtime before gripping and sync host as well as other clients (we have an options that let users disable secondary grip influence).
Sounds like you have the bUseHighQualityRemoteSimulation turned to off? When not true it will only do light two handed calculations to save on cost on non local clients.
As for replicating on the clients settings, those settings can be stored in the player controller and passed up to the server to apply on spawn or on grip to the object. Generally it would be better to just store them in the PC and set them on gripped objects by retrieving those replicated values.
I didn’t want to automatically replicate these in all guntools grip scripts as generally those specific settings are global and should be pulled on a client by client basis and applied instead.
Edit If you have specific settings that you want the client to be able to modify, also lets you just store and pass on those specific ones to new grips / spawns. IE: OnGrip in the base class, get player controller of gripping character, set grip script settings. Or if you don’t let weapons be swapped back and forth, just do it on spawn.
Hi again, I haven’t had much time to work on my project lately but now I do have my weapon gripping working pretty nicely. I’m seeing one strange behavior. I can pick up my weapon and drop it, but then I can’t pick it up again. It looks like once dropped, the item isn’t being detected in the ‘get overlapping actors’ node which I have set to filter by class on grippable skeletal mesh. Any idea what might be wrong there? I am definitely overlapping it when it’s on the ground as I made the collision sphere visible (even stepping away and back in still doesn’t get it picked up). The only extra step I’m taking after the Drop Actor function is removing the item that was in my hand from my player’s inventory (just updating the appropriate array element and clearing it).
Nope not at all, the only thing I’m doing after the drop actor is removing the object from my inventory, kind of puzzled by one. I’ll make a new grippable BP actor that doesn’t go into my inventory so I can cut that execution off and see if it works then.
Hello there! I’ve just started going through the Intro and setup video on the tutorials page created by Ravan but have got an error message popping up saying that the OpenVRExpansionPlugin and VRExpansionPlugin modules are missing or built with a different engine version.
When I press the Yes button to rebuild them the progress bar goes to around 90%ish then I get another error message saying MyProject2 could not be compiled. Try rebuilding from source manually.
I’ve tried 4.23 and 4.22 but still get the same errors coming up.
Could someone please ELI5 because I haven’t done much developing for the last 30-odd years so I’m more than a little rusty lol
I’ve just downloaded and installed the latest version of Microsoft Visual Studio Community if that helps!
Are you downloading the template or the plugin itself? If its just the plugin itself then you need to either use the pre-compiled binaries, or compile the project in Development Editor mode in visual studio.
I’m having an issue with picking up objects, in the editor i pick up an object and another one spawns and i can pick that up too. When connected to my dedicated server grabbing the first item works but the re spawned item can be very hit or miss, if i keep my hand near it and very surely grab it sometimes it will pick up sometimes it wont.
Is there anyway to make it more accurate on server?
Sounds like you are trying to detect location and hit on the server side only instead of the client? Depending on your controller replication rate it can be a bit off due to lerping between updates when the grab comes in to the server.
is why in the template I run the hit detection client side and have the server just verify if the object is grippable or not if it is a server authed grip mode. You can still add a server sided rough distance check as well to enforce no remote grips.
If your hit logic is client side, then your respawns collision / position replication may be off, make sure it isn’t set to static mobility.
i was using your pick up cube as a base and adding what i needed, so it weird that it doesn’t work properly. ill have a look at where the detection is happening
Shouldn’t base anything off of that generally, it is an example of converting a non grippable object to the plugin interface. Its from epics template, it is preferable to use one of the prefabs (grippable static mesh actor) when possible.
I’m trying to nativize my project (UE4.22) but I’m getting when building:
fatal error: ‘…/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Public/VRBPDatatypes.h’ file not found
From what I can understand, the nativization process moves the files to a different folder, so relative paths don’t work anymore. I read the documentation but it’s not very explicit on how to fix
“If you add the path of header to FilesToIncludeInModuleHeader, under [BlueprintNativizationSettings] in DefaultEditor.ini, you can fix many issues related to missing headers.”
I tried adding line to my DefaultEditor.ini but it doesn´t seem to do anything…
Don’t know if helps, I went to the intermediate file (Bow3_pf1418999182.gen.cpp) after the build tool failed, changed the header from
#include “…/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Public/GripMotionControllerComponent.h”
to #include “E:/UE4/GladiusQuest/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Public/GripMotionControllerComponent.h”
Run again the UnrealBuildTool.exe from the windows cmd with the same instructions and worked, so it’s definitely an issue with the relative path.
Btw, when you nativize, are you running it as an Engine plugin or project plugin?
Project plugin, and yeah that looks like the auto gen source is generating the incorrect relative path… Not sure that I can do anything about that on my end?
I was nativizing for quest as well and didn’t run into that in mine.
I’ll post on the UE4 forums, hopefully someone will know how to fix it. I will also try to nativize your exemple template, maybe there is something wrong with my installation.
I didn’t see any guides to installing plugin on a source build specifically, so I followed the video on your website. The project opens and so far doesn’t seem to have any issues. Is the install really that easy for a source build project as well, or did I miss something?