[WIP] VR Essential Kit

Hi guys

let me introduce that little pack I’m working on. It’s an essential kit of basic VR mechanisms, compatible with Epic VR template.

it is composed of 3 customizable blueprints :

  • interactable physically simulated objects (can be used for door, drawers, levers, chests etc …)
  • slots (usable for any kind of locks)
  • pickables objects (can be use as keys, coins, gear etc … they fit into slots to unlock the interactable objects.

here a little demo on how it works

feature list :

*** BP_PickupObject actor ***


Similar to epic’s BP_PickupCube actor but with additional features.

  • can be place in a slot

  • has a “type” variable picked up from the enumeration “ENUM_PickupObjectType”
    If the type of the PickedupObject doesn’t match the “type” of the slot he’s dropped on, it won’t collide and fallto the ground.

  • has a “ID” integer variable
    If the type matches but not the ID, the PickupObject will be place into the slot (aligning its pivot to the slot’s pivot) but the slot will remain “locked”(slot’s “Locked” variable is still set to true)
    If Both ID and type match, PickupObject will be place into the slot (aligning its pivot to the slot’s pivot) and the slot will be “unlocked”(slot’s “Locked” variable is still set to false

*** BP_Slot actor ***



actor with a customizable apparence (static mesh component), Slot can hold BP_PickupObject.

  • has a “Full” boolean variable set to true when it contains an object
  • has a “type” variable picked up from the enumeration “ENUM_PickupObjectType”
  • has a “ID” integer variable

*** BP_InteractableObject actor ***



Gameplay related actor with a customizable apparence (static mesh component), they can rotate or translate, be physically simulated, have a limited or unlimited range of motion etc …

  • “type” from “ENUM_InteractableActorType”, currently can do 1 rotation or 1 translation

  • “Limit” defines how far the object can move, can be positive or negative (affect the direction), if type is rotation, limite can be more then 360° or less then -360°, in that case, the object can do multiple turns. If set to 0, the range of motion is unlimited.

  • “Snap when closed” use this to prevent object from bouncing when returning to initial position (both by autoreturn or by hand), it alos prevent an object from pushed by a dynamic object.

  • “Snap Limit” how far the magnetism from the snap feature extend, expressed in % (usually less then 10%)

  • “Is Physic” if checked the object is physically simulated, otherwise it isn’t (when release the object stay in place)

  • “damping” define the damping if the object is physic

  • “Autoreturn” if checked, the object will return to its initial position when released

  • “Return Duration” defines the speed of the return, in second for a full motion (from max position to initial position), if object isn’t limited the duration is base on 100 cm or 360°.

  • “Return Delay” defines hos long it takes for the autoreturn to start once the object is released (in second)

  • “Linked to” Interactable object can be linked to slot or other interactable object, in that case it read the “locked” state of all their linked objects, if at least one of them is set to true, the object cannont be grabbed or move, neither by hand or simulated. if the autoreturn is true, it will be activated immediatly.

  • “Attached Object” slots or other non dynamic Blueprint objects can be parented to the interactable actor. Note that it CAN’T be another interactable actor Neither a simple static mesh (a simple blueprint with a static mesh component will work perfectly.

Currently everythings is almost done, just need a little bit of polish (like tool tips for the variable field etc) and make all the screenshots for the marketplace. the pricing will probably be around 25 or 30 bucks.


update !!

package have been submitted !!

waiting for approval


very cool project ! will definitely buy it once i start hopping on that vr train :wink:

Cool, will buy when ready

Awesome work, it will save me so much hours i will buy it for sure. I have just 2 questions how easy would it be to unlock the door by turning the key 360° and attach a doorknob and turn it to open the door?

Almost 2 months. Still waiting for approval? Very interested in this. Looking to buy asap

hey guys !

thanks a lot for your support :slight_smile:

(sorry for the late answer … I haven’t been notified there was some activity on this thread and I don’t go to this forum very often… )

unfortunately that pack has been rejected… it will never be released on the market place…

there are various reasons for that like naming convention, or material setup (wich material ??) but the main one is that they said it was to easy to reproduce (I’ve seen far more basic content on the marketplace then that but anyway …)

so I give up with this one…

but it would be very selfish to let this thing die, and I don’t want to shortcut the marketplace… so I give it for free to the community…

feel free to use it, share it, modify it, enjoy it :wink:

credits would be appreciated too :wink:

(of course I won’t provide in depth support )

1 Like

I’ve started to work on this kind of feature, but so far I didn’t find an easy way to do that unfortunately … that’s due to the way physical objects work, (especially the fact that when an object is set to physical it doesn’t belong to a hierarchy anymore … )

so short answer to your question is : "very difficult, at least for me … "

Million thanxx for sharing your kit with us !!

How to compile after duplicating or exporting the BP_InteractableActor?? Getting errors when duplicating and exporting to other projects. Pls help

Million Thanks for sharing your kit with us…

Thank you so much! I have a quick question, for some reason the The axis are flipper having x and y look up and z to the side, any clue why this is happening?

amazing stuff! Thank you!

Epic’s Please Reproduce It in the VR Template ))

I made a light remix (without linked and attached functions) compatible with the default VR template.
maybe someone will need
need to make one change: BP_MotionController - Release Actor - Unpin branch checking attach parent and pin “is valid” attached actor to drop directly (because when you grab interactions things in VR essential kit they didn’t attaching to controller).

I tried using the bp you made in studio template and i got a lot of errors. is it possible for you to post a studio template with the bp actions of grabbing etc? i have no clue how to fix the bp myself.


Its really easy to get this working. you need to add it to the default VR template then you can migrate that to the studio template

The Interactable Actor is still one of my favorite tools to work with. Sadly it cant be Nativized. As soon as you nativize it for a packaged build the actors inheriting this class are moved away in a certian direction. Looks like translation multipied.

If i find something ill make sure to post something here. Maybe the community and the maker are still out there using it too and can help !

Hi jamis,
can you help me? I have this Essential Kit, its realy good but I have one problem.
First I tested make manualy all in new clean project but still I had problem with collision and grab system.
Now I have imported all into my project. Function is good but I have my camera view still down or under floor. I can not solve this problem.
And if I look on some blueprints then I see some old definiton.
I use engine 4.21.2 - can you change it for this version or send me some fixed files or something?
THX very much

Thank you so much! I have a question, can you please tell me how can i add a door handle with door blueprint.

Hi, if i do this, i cant switch the objects between the hands! If i open the other hand, the object fall down!