This guide will walk you through installing and configuring OmniShift in your Unreal Engine project. By the end of this guide, you'll have a fully functional character with OmniShift's advanced systems running.
Plugins directory# Option 1: Using HTTPS
git clone https://github.com/MountainLabsDE/OmniShift.git
# Option 2: Using SSH (if you have SSH keys set up)
git clone git@github.com:MountainLabsDE/OmniShift.git
YourProject/Plugins/OmniShift/
You have two options for building the plugin:
# Navigate to the plugin directory
cd YourProject/Plugins/OmniShift
# Run the distribution script (Windows)
distribution.bat
# Note: The script automatically handles version management,
# multi-platform builds, and cleanup of development files
.uproject file)After restarting, verify the installation:
Check Plugin Status:
Check Content Browser:
Check C++ Classes:
GASPAC_CharacterBaseData Assets/
├── Character/
│ ├── DA_DefaultCharacterConfig (GASPAC_CharacterConfigDataAsset)
│ ├── DA_DefaultRigConfig (GASPAC_RigConfigDataAsset)
│ └── DA_DefaultLocomotionProfile (GASPAC_LocomotionProfileDataAsset)
├── Camera/
│ └── DA_DefaultCameraProfile (GASPAC_CameraProfileDataAsset)
└── Input/
└── DA_DefaultInputProfile (GASPAC_InputProfileDataAsset)
Open DA_DefaultCharacterConfig and set:
Open DA_DefaultCameraProfile and set:
Open DA_DefaultInputProfile and configure basic inputs (auto-populated defaults are usually sufficient).
Create Blueprint Class:
GASPAC_CharacterBaseBP_MyCharacterConfigure Data Assets:
BP_MyCharacterDA_DefaultCharacterConfigDA_DefaultRigConfigDA_DefaultLocomotionProfileDA_DefaultCameraProfileCreate Input Actions:
IA_Move (Vector2D)IA_Look (Vector2D)IA_Jump (Boolean)IA_Crouch (Boolean)IA_Sprint (Boolean)IA_Interact (Boolean)Configure Input Mapping Context:
IA_MoveIA_LookIA_JumpIA_CrouchIA_SprintIA_InteractCreate Game Mode Base:
GameModeBaseBP_MyCharacterAssign Game Mode:
Problem: OmniShift doesn't show in the Plugins list
Solution:
Plugins/ directoryProblem: C++ compilation fails
Solution:
Problem: Character spawns but doesn't respond to input
Solution:
Problem: Camera doesn't follow character or modes don't switch
Solution:
Organize your OmniShift content with this recommended structure:
Content/
├── OmniShift/
│ ├── Characters/
│ ├── DataAssets/
│ │ ├── Character/
│ │ ├── Camera/
│ │ ├── Input/
│ │ ├── Animation/
│ │ └── Audio/
│ ├── Blueprints/
│ └── Materials/
Use consistent naming for Data Assets:
DA_[System]_[Name] for configuration assetsDA_Character_Hero, DA_Camera_Default, DA_Input_FirstPersonInclude these files in version control:
.generated.h, etc.)Congratulations! You now have a basic OmniShift character running. Here are recommended next steps:
Ready to dive deeper? Continue with Core Systems to understand the architecture, or jump to Examples & Tutorials for practical implementations.
Having trouble? Check the Troubleshooting guide for common issues.