8#include "CoreMinimal.h"
10#include "Kismet\BlueprintFunctionLibrary.h"
12#include "I3DHVersion.generated.h"
61 UFUNCTION(BlueprintPure, Category =
"{instant3Dhub}|Version")
62 static int32 GetPluginVersionMajor();
68 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|
Version")
69 static int32 GetPluginVersionMinor();
75 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|
Version")
76 static int32 GetPluginVersionPatch();
82 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|
Version")
83 static FString GetPluginVersionString();
86// ----------------------------------------------------------
87// Version Comparison Macros
88// ----------------------------------------------------------
89// NOTE: Sourced from EngineVersionComparison.h
91// Helper for INSTANT3DHUB_VERSION_NEWER_THAN and INSTANT3DHUB_VERSION_OLDER_THAN
92#define INSTANT3DHUB_GREATER_SORT(Value, ValueToBeGreaterThan, TieBreaker) \
93 (((Value) > (ValueToBeGreaterThan)) || (((Value) == (ValueToBeGreaterThan)) && (TieBreaker)))
95// Helper for INSTANT3DHUB_VERSION_EQUALS
96#define INSTANT3DHUB_EQUAL_SORT(Value, ValueToBeEqualTo, TieBreaker) \
97 (((Value) == (ValueToBeEqualTo)) && (TieBreaker))
106#define INSTANT3DHUB_VERSION_NEWER_THAN(MajorVersion, MinorVersion, PatchVersion) \
107 INSTANT3DHUB_GREATER_SORT(INSTANT3DHUB_VERSION_MAJOR, MajorVersion, INSTANT3DHUB_GREATER_SORT(INSTANT3DHUB_VERSION_MINOR, MinorVersion, INSTANT3DHUB_GREATER_SORT(INSTANT3DHUB_VERSION_PATCH, PatchVersion, false)))
116#define INSTANT3DHUB_VERSION_OLDER_THAN(MajorVersion, MinorVersion, PatchVersion) \
117 INSTANT3DHUB_GREATER_SORT(MajorVersion, INSTANT3DHUB_VERSION_MAJOR, INSTANT3DHUB_GREATER_SORT(MinorVersion, INSTANT3DHUB_VERSION_MINOR, INSTANT3DHUB_GREATER_SORT(PatchVersion, INSTANT3DHUB_VERSION_PATCH, false)))
125#define INSTANT3DHUB_VERSION_EQUALS(MajorVersion, MinorVersion, PatchVersion) \
126 INSTANT3DHUB_EQUAL_SORT(MajorVersion, INSTANT3DHUB_VERSION_MAJOR, INSTANT3DHUB_EQUAL_SORT(MinorVersion, INSTANT3DHUB_VERSION_MINOR, INSTANT3DHUB_EQUAL_SORT(PatchVersion, INSTANT3DHUB_VERSION_PATCH, true)))
153#define INSTANT3DHUB_FEATURE_METADATA 1
159#define INSTANT3DHUB_FEATURE_DEBUG_METRICS 1
170// ----------------------------------------------------------
172// ----------------------------------------------------------
173// NOTE: For more info on how to use see description of UE_DEPRECATED Macro in CoreMiscDefines.h
174#if defined(__INTELLISENSE__)
175#define INSTANT3DHUB_DEPRECATED(Version, Message)
188#define INSTANT3DHUB_DEPRECATED(Version, Message) [[deprecated(Message " - Please update your code to the
new instant3Dhub API before upgrading to the next release, otherwise your project will no longer compile.
")]]
191// ----------------------------------------------------------
193// ----------------------------------------------------------
195#ifndef I3DH_VALIDATE_EXPERIMENTAL_API
211#define I3DH_VALIDATE_EXPERIMENTAL_API 1
214// NOTE: For more info on how to use see description of UE_DEPRECATED Macro in CoreMiscDefines.h
215#if defined(__INTELLISENSE__) || !I3DH_VALIDATE_EXPERIMENTAL_API
216#define INSTANT3DHUB_EXPERIMENTAL(Version, Message)
231#define INSTANT3DHUB_EXPERIMENTAL(Version, Message) [[deprecated(Message " - This API is experimental. As such, there is no guarantee that it won
't change or be removed in future releases. Please use at your own risk.")]]
234// NOTE: These macros are also defined by Unreal Engine starting with version 5.6. We provide these
235// definitions as fallback for backwards compatibility, therefore they do not have an INSTANT3DHUB /
237#ifndef PRAGMA_DISABLE_EXPERIMENTAL_WARNINGS
251#define PRAGMA_DISABLE_EXPERIMENTAL_WARNINGS PRAGMA_DISABLE_DEPRECATION_WARNINGS
254#ifndef PRAGMA_ENABLE_EXPERIMENTAL_WARNINGS
268#define PRAGMA_ENABLE_EXPERIMENTAL_WARNINGS PRAGMA_ENABLE_DEPRECATION_WARNINGS
Blueprint Functions to query the instant3Dhub Unreal Plugin Version.
Definition I3DHVersion.h:53
Namespace offering functions to query the instant3Dhub Unreal Plugin version.
Definition I3DHVersion.h:23
FString GetPluginVersionString()
Gets plugin version string.
int32 GetPluginVersionPatch()
Gets plugin version patch.
int32 GetPluginVersionMajor()
Gets plugin version major.
int32 GetPluginVersionMinor()
Gets plugin version minor.