diff --git a/Plugins/VRGAS/Resources/Icon128.png b/Plugins/VRGAS/Resources/Icon128.png new file mode 100644 index 0000000..1231d4a Binary files /dev/null and b/Plugins/VRGAS/Resources/Icon128.png differ diff --git a/Plugins/VRGAS/Source/VRGAS/Private/VRGAS.cpp b/Plugins/VRGAS/Source/VRGAS/Private/VRGAS.cpp new file mode 100644 index 0000000..11e5f1e --- /dev/null +++ b/Plugins/VRGAS/Source/VRGAS/Private/VRGAS.cpp @@ -0,0 +1,20 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "VRGAS.h" + +#define LOCTEXT_NAMESPACE "FVRGASModule" + +void FVRGASModule::StartupModule() +{ + // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module +} + +void FVRGASModule::ShutdownModule() +{ + // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, + // we call this function before unloading the module. +} + +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(FVRGASModule, VRGAS) \ No newline at end of file diff --git a/Plugins/VRGAS/Source/VRGAS/Public/VRGAS.h b/Plugins/VRGAS/Source/VRGAS/Public/VRGAS.h new file mode 100644 index 0000000..71a0b50 --- /dev/null +++ b/Plugins/VRGAS/Source/VRGAS/Public/VRGAS.h @@ -0,0 +1,15 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Modules/ModuleManager.h" + +class FVRGASModule : public IModuleInterface +{ +public: + + /** IModuleInterface implementation */ + virtual void StartupModule() override; + virtual void ShutdownModule() override; +}; diff --git a/Plugins/VRGAS/Source/VRGAS/VRGAS.Build.cs b/Plugins/VRGAS/Source/VRGAS/VRGAS.Build.cs new file mode 100644 index 0000000..fa172d6 --- /dev/null +++ b/Plugins/VRGAS/Source/VRGAS/VRGAS.Build.cs @@ -0,0 +1,56 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; + +public class VRGAS : ModuleRules +{ + public VRGAS(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicIncludePaths.AddRange( + new string[] { + // ... add public include paths required here ... + } + ); + + + PrivateIncludePaths.AddRange( + new string[] { + // ... add other private include paths required here ... + } + ); + + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + "EnhancedInput", + "GameplayAbilities", + "GameplayTags", + "GameplayTasks" + } + ); + + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "Engine", + "Slate", + "SlateCore", + // ... add private dependencies that you statically link with here ... + } + ); + + + DynamicallyLoadedModuleNames.AddRange( + new string[] + { + // ... add any modules that your module loads dynamically here ... + } + ); + } +} diff --git a/Plugins/VRGAS/VRGAS.uplugin b/Plugins/VRGAS/VRGAS.uplugin new file mode 100644 index 0000000..54cdd5d --- /dev/null +++ b/Plugins/VRGAS/VRGAS.uplugin @@ -0,0 +1,23 @@ +{ + "FileVersion": 3, + "Version": 1, + "VersionName": "1.0", + "FriendlyName": "VRGAS", + "Description": "", + "Category": "Other", + "CreatedBy": "Vagabond Rose Interactive", + "CreatedByURL": "https://vagabondrose.com/", + "DocsURL": "", + "MarketplaceURL": "", + "CanContainContent": true, + "IsBetaVersion": false, + "IsExperimentalVersion": false, + "Installed": false, + "Modules": [ + { + "Name": "VRGAS", + "Type": "Runtime", + "LoadingPhase": "Default" + } + ] +} \ No newline at end of file diff --git a/Plugins/VRUtils/Resources/Icon128.png b/Plugins/VRUtils/Resources/Icon128.png new file mode 100644 index 0000000..1231d4a Binary files /dev/null and b/Plugins/VRUtils/Resources/Icon128.png differ diff --git a/Plugins/VRUtils/Source/VRUtils/Private/VRUtils.cpp b/Plugins/VRUtils/Source/VRUtils/Private/VRUtils.cpp new file mode 100644 index 0000000..dc233fb --- /dev/null +++ b/Plugins/VRUtils/Source/VRUtils/Private/VRUtils.cpp @@ -0,0 +1,22 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "VRUtils.h" + +#define LOCTEXT_NAMESPACE "FVRUtilsModule" + +void FVRUtilsModule::StartupModule() +{ + // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module + +} + +void FVRUtilsModule::ShutdownModule() +{ + // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, + // we call this function before unloading the module. + +} + +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(FVRUtilsModule, VRUtils) \ No newline at end of file diff --git a/Plugins/VRUtils/Source/VRUtils/Private/VRUtilsBPLibrary.cpp b/Plugins/VRUtils/Source/VRUtils/Private/VRUtilsBPLibrary.cpp new file mode 100644 index 0000000..c3dca67 --- /dev/null +++ b/Plugins/VRUtils/Source/VRUtils/Private/VRUtilsBPLibrary.cpp @@ -0,0 +1,10 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "VRUtilsBPLibrary.h" +#include "VRUtils.h" + +UVRUtilsBPLibrary::UVRUtilsBPLibrary(const FObjectInitializer& ObjectInitializer) +: Super(ObjectInitializer) +{ + +} \ No newline at end of file diff --git a/Plugins/VRUtils/Source/VRUtils/Public/VRUtils.h b/Plugins/VRUtils/Source/VRUtils/Public/VRUtils.h new file mode 100644 index 0000000..23de524 --- /dev/null +++ b/Plugins/VRUtils/Source/VRUtils/Public/VRUtils.h @@ -0,0 +1,14 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Modules/ModuleManager.h" + +class FVRUtilsModule : public IModuleInterface +{ +public: + + /** IModuleInterface implementation */ + virtual void StartupModule() override; + virtual void ShutdownModule() override; +}; diff --git a/Plugins/VRUtils/Source/VRUtils/Public/VRUtilsBPLibrary.h b/Plugins/VRUtils/Source/VRUtils/Public/VRUtilsBPLibrary.h new file mode 100644 index 0000000..2860b5f --- /dev/null +++ b/Plugins/VRUtils/Source/VRUtils/Public/VRUtilsBPLibrary.h @@ -0,0 +1,30 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Kismet/BlueprintFunctionLibrary.h" +#include "VRUtilsBPLibrary.generated.h" + +/* +* Function library class. +* Each function in it is expected to be static and represents blueprint node that can be called in any blueprint. +* +* When declaring function you can define metadata for the node. Key function specifiers will be BlueprintPure and BlueprintCallable. +* BlueprintPure - means the function does not affect the owning object in any way and thus creates a node without Exec pins. +* BlueprintCallable - makes a function which can be executed in Blueprints - Thus it has Exec pins. +* DisplayName - full name of the node, shown when you mouse over the node and in the blueprint drop down menu. +* Its lets you name the node using characters not allowed in C++ function names. +* CompactNodeTitle - the word(s) that appear on the node. +* Keywords - the list of keywords that helps you to find node when you search for it using Blueprint drop-down menu. +* Good example is "Print String" node which you can find also by using keyword "log". +* Category - the category your node will be under in the Blueprint drop-down menu. +* +* For more info on custom blueprint nodes visit documentation: +* https://wiki.unrealengine.com/Custom_Blueprint_Node_Creation +*/ +UCLASS() +class UVRUtilsBPLibrary : public UBlueprintFunctionLibrary +{ + GENERATED_UCLASS_BODY() + +}; diff --git a/Plugins/VRUtils/Source/VRUtils/VRUtils.Build.cs b/Plugins/VRUtils/Source/VRUtils/VRUtils.Build.cs new file mode 100644 index 0000000..151abba --- /dev/null +++ b/Plugins/VRUtils/Source/VRUtils/VRUtils.Build.cs @@ -0,0 +1,53 @@ +// Some copyright should be here... + +using UnrealBuildTool; + +public class VRUtils : ModuleRules +{ + public VRUtils(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicIncludePaths.AddRange( + new string[] { + // ... add public include paths required here ... + } + ); + + + PrivateIncludePaths.AddRange( + new string[] { + // ... add other private include paths required here ... + } + ); + + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + // ... add other public dependencies that you statically link with here ... + } + ); + + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "Engine", + "Slate", + "SlateCore", + // ... add private dependencies that you statically link with here ... + } + ); + + + DynamicallyLoadedModuleNames.AddRange( + new string[] + { + // ... add any modules that your module loads dynamically here ... + } + ); + } +} diff --git a/Plugins/VRUtils/VRUtils.uplugin b/Plugins/VRUtils/VRUtils.uplugin new file mode 100644 index 0000000..20990f2 --- /dev/null +++ b/Plugins/VRUtils/VRUtils.uplugin @@ -0,0 +1,23 @@ +{ + "FileVersion": 3, + "Version": 1, + "VersionName": "1.0", + "FriendlyName": "VRUtils", + "Description": "", + "Category": "Other", + "CreatedBy": "Vagabond Rose Interactive", + "CreatedByURL": "https://vagabondrose.com/", + "DocsURL": "", + "MarketplaceURL": "", + "CanContainContent": true, + "IsBetaVersion": false, + "IsExperimentalVersion": false, + "Installed": false, + "Modules": [ + { + "Name": "VRUtils", + "Type": "Runtime", + "LoadingPhase": "PreLoadingScreen" + } + ] +} \ No newline at end of file diff --git a/VRPlugins.uproject b/VRPlugins.uproject index 99a03b2..51dcede 100644 --- a/VRPlugins.uproject +++ b/VRPlugins.uproject @@ -17,6 +17,14 @@ "TargetAllowList": [ "Editor" ] + }, + { + "Name": "VRGAS", + "Enabled": true + }, + { + "Name": "VRUtils", + "Enabled": true } ] } \ No newline at end of file