initial commit

This commit is contained in:
Mamadou Babaei
2026-07-13 19:32:26 +02:00
commit 90982b48fc
4 changed files with 256 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
# Keep CRLF out of the repository
* text=auto eol=lf
# Always keep config files (even the empty ones under Git, not LFS)
Config/* filter= diff= merge= text
# In case the git binary/text auto-detection algorithm fails, in order to avoid
# line-ending normalization, treat these files as binary no matter what
*.{uasset,umap,3ds,fbx,flac,gif,jif,jiff,jpe,jpeg,jpg,m4a,mp3,mp4,ogg,png,psd,ttf,wav,webp,xcf} binary
# LFS: UE4 file types
*.uasset filter=lfs diff=lfs merge=lfs -text
*.umap filter=lfs diff=lfs merge=lfs -text
# LFS: raw content types
*.3ds filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.flac filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.jif filter=lfs diff=lfs merge=lfs -text
*.jiff filter=lfs diff=lfs merge=lfs -text
*.jpe filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.m4a filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.webp filter=lfs diff=lfs merge=lfs -text
*.xcf filter=lfs diff=lfs merge=lfs -text
# LFS: everything under Content/
Content/**/* filter=lfs diff=lfs merge=lfs -text
+132
View File
@@ -0,0 +1,132 @@
# Explcitly ignore annoying Windows files, regardless of where they are
[Dd]esktop.ini
Thumbs.db
# Explcitly ignore annoying macOS files, regardless of where they are
.DS_Store
# Makefile; only in the project root
/Makefile
# CMake; only in the project root
/CMakeLists.txt
# QMake / Qt Creator
*.pro
*Config.pri
*Defines.pri
*Header.pri
*Includes.pri
*Source.pri
.qmake.stash
*.autosave
*.pro.user
*.pro.user.*
CMakeLists.txt.user
CMakeLists.txt.user.*
# Visual Studio
.vs/
.vsconfig
*.sln
*.suo
*.opensdf
*.sdf
*.VC.db
*.VC.opendb
# Visual Studio Code
.vscode/
*.code-workspace
# Code::Blocks
*.workspace
# CodeLite
*CodeLitePreProcessor.txt
# KDevelop
.kdev4/
*.kdev4
# CLion
*CodeCompletionFolders.txt
# IntelliJ IDE
.idea/
# Xcode
*.xcodeproj
*.xcworkspace
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
*.ipa
# Precompiled Assets
SourceArt/**/*.png
SourceArt/**/*.tga
# Binary Files
Binaries/*
Plugins/*/Binaries/*
# Builds
Build/*
# Whitelist PakBlacklist-<BuildConfiguration>.txt files
!Build/*/
Build/*/**
!Build/*/PakBlacklist*.txt
# Don't ignore icon files in Build
!Build/**/*.ico
# Built data for maps
!*_BuiltData.uasset
# Configuration files generated by the Editor
Saved/*
# Compiled source files for the engine to use
Intermediate/*
Plugins/*/Intermediate/*
# Cache files for the editor to use
DerivedDataCache/*
# Misc
.ignore
# The Platforms folder
Platforms/
# Rider .uproject configuration
*.DotSettings.user
*.uproject.DotSettings.user
+23
View File
@@ -0,0 +1,23 @@
```
MIT License
Copyright (c) 2020 - 2026 SenseGlove
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
+64
View File
@@ -0,0 +1,64 @@
# SenseGlove OpenXR Hand Interactions System From Scratch (Blueprint Only)
This repository contains the demo project showcased in the [**SenseGlove Developer Spotlight: Building OpenXR Hand Interactions from Scratch in Unreal Engine**](https://youtu.be/J18c99vl6dE).
The project demonstrates how to build a complete OpenXR hand interaction system using Unreal Engine Blueprints and the SenseGlove Unreal Engine Plugin from scratch without relying on `SGPawn`. Rather than relying on pre-built interaction frameworks, it starts with raw OpenXR hand-tracking data and incrementally builds the core functionality required for natural VR interactions.
This was part of an internship project at SenseGlove.
## Features
- OpenXR hand tracking
- Blueprint-only implementation
- Hand joint visualization
- Custom hand interaction framework
- Object grabbing and manipulation
- Collision and overlap detection
- Physics-based interactions
- Gesture-driven interactions
- Haptics addition using SenseGlove API
- Compatible with modern Unreal Engine versions
This project is intended as an educational reference for Unreal Engine and XR developers who want to understand how OpenXR hand interactions work under the hood and build their own interaction systems from scratch.
## Compatibility
This demo is compatible with Unreal Engine `5.7`.
## Video Documentation
[Building OpenXR Hand Interactions from Scratch | SenseGlove Unreal Engine Plugin](https://youtu.be/J18c99vl6dE)
[![Building OpenXR Hand Interactions from Scratch | SenseGlove Unreal Engine Plugin](https://img.youtube.com/vi/J18c99vl6dE/0.jpg)](https://youtu.be/J18c99vl6dE)
## How to checkout
The most straightforward way to download this project is to click on the kebab menu (three vertical dots) located at the top-right of the screen and choose Download as Zip to obtain the source code for that branch or tag.
__NOTE__: This repository is fully self-contained and ships a compatible version of the SenseGlove Unreal Engine Plugin with itself without relying on Git Submodules. So, once you download it using the kebab menu you can simply start using the project without the extra work of obtaining the plugin separately.
## License
```
MIT License
Copyright (c) 2020 - 2026 SenseGlove
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```