Rama
(Rama)
August 31, 2015, 10:28pm
1141
Upgrade to 4.9, Vertex Snap Editor Temp Disabled
Dear Community,
I’ve upgraded my Victory BP plugin to 4.9! (And did too!)
Unfortunately in 4.9.0 there’s a bug involved with editor plugins that I believe has to be fixed engine-side as it is affecting the new 4.9 plugin templates as well.
So version of my plugin does not include the Vertex Snap Editor.
To avoid a crash on editor startup, please remember to remove these lines from your config file if you were using the vertex snap editor:
[/Script/Engine.Engine]
UnrealEdEngine=/Script/VictoryEdEngine.VictoryEdEngine
becomes
;[/Script/Engine.Engine]
;UnrealEdEngine=/Script/VictoryEdEngine.VictoryEdEngine
Full description:
After over a year in maintenance mode, the official Unreal Engine Wiki is now permanently offline. These resources now live on a new community-run Unreal Engine Community Wiki — https://unrealcommunity.wiki/! You will be able to find content from...
Reading time: 1 mins 🕑
Likes: 20 ❤
**4.9 Download**
**Latest plugin download on the UE4 Wiki: (15 mb) **
After over a year in maintenance mode, the official Unreal Engine Wiki is now permanently offline. These resources now live on a new community-run Unreal Engine Community Wiki — https://unrealcommunity.wiki/! You will be able to find content from...
Reading time: 1 mins 🕑
Likes: 20 ❤
**Victory Plugin on Media Fire**
If your browser is not updating the Wiki download page to the most recent version, you can use my alternative Media Fire download link!
Please note clicking link will not start a download instantly, it will just take you to the Media Fire file description.
https://www.mediafire.com/?g6uf9kt5ueb2upj
Enjoy!
:)
Nsomnia
(Nsomnia)
September 1, 2015, 5:34am
1142
Dear Community,
I’ve upgraded my Victory BP plugin to 4.9! (And did too!)
Unfortunately in 4.9.0 there’s a bug involved with editor plugins that I believe has to be fixed engine-side as it is affecting the new 4.9 plugin templates as well.
So version of my plugin does not include the Vertex Snap Editor.
To avoid a crash on editor startup, please remember to remove these lines from your config file if you were using the vertex snap editor:
[/Script/Engine.Engine]
UnrealEdEngine=/Script/VictoryEdEngine.VictoryEdEngine
becomes
;[/Script/Engine.Engine]
;UnrealEdEngine=/Script/VictoryEdEngine.VictoryEdEngine
Full description:
A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums
**4.9 Download**
**Latest plugin download on the UE4 Wiki: (15 mb) **
A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums
**Victory Plugin on Media Fire**
If your browser is not updating the Wiki download page to the most recent version, you can use my alternative Media Fire download link!
Please note clicking link will not start a download instantly, it will just take you to the Media Fire file description.
https://www.mediafire.com/?g6uf9kt5ueb2upj
Enjoy!
:)
Much happiness glows around me Java semester, c++ next. And then the Unreal API for its hugeness and oddness.
Kris
(Kris)
September 1, 2015, 2:14pm
1143
Seems the IsValidIndex node doesn’t like 4.9.
I’ll get the fix to shortly
Rama
(Rama)
September 2, 2015, 8:58am
1144
Victory Ed Engine Plugin, Separate Plugin and Download Now
Dear Community,
As of 4.9.0, My Vertex Snap Editor Plugin is now a separate plugin, called VictoryEdEngine!
Download Link (145kb)
After over a year in maintenance mode, the official Unreal Engine Wiki is now permanently offline. These resources now live on a new community-run Unreal Engine Community Wiki — https://unrealcommunity.wiki/! You will be able to find content from...
Reading time: 1 mins 🕑
Likes: 23 ❤
is a plugin that does not package with your game as it is only designed to modify Unreal Engine 4 to add support for vertex snapping while in the Level Editor Viewport.
More Details about my Vertex Snapping Editor
Installation Steps
After over a year in maintenance mode, the official Unreal Engine Wiki is now permanently offline. These resources now live on a new community-run Unreal Engine Community Wiki — https://unrealcommunity.wiki/! You will be able to find content from...
Reading time: 1 mins 🕑
Likes: 23 ❤
Enjoy!
Hey!
Why not just upload the plugin here in the forums or just link in the wiki to a separate download location (like google drive)?
Another question: Could you somehow integrate into your plugin?
Epic seems to be quite slow with integrating custom hardware cursors into the engine, they don’t say anything about it, no idea whether it will happen within the next 1 or 2 years So there is the code which just needs to get added to the source for making custom cursors work, but of course doing manually after each new version and each hotfix and compile the engine is just a drawback regarding usability. But so many games need custom cursors! The default windows hand cursor is not really fitting for most games, and software cursors feel laggy, even at 60 fps.
Could you integrate the code mentioned in the thread above into your plugin and make it work as a BP node or would it not work inside of a plugin?
Thanks!
Could you post a fix here? I’m currently stuck on .
Kris
(Kris)
September 3, 2015, 12:54am
1147
IsValidIndex fix:
DECLARE_FUNCTION(execArray_IsValidIndex)
{
Stack.MostRecentProperty = nullptr;
Stack.StepCompiledIn<UArrayProperty>(NULL);
void* ArrayAddr = Stack.MostRecentPropertyAddress;
UArrayProperty* ArrayProperty = Cast<UArrayProperty>(Stack.MostRecentProperty);
if (!ArrayProperty)
{
Stack.bArrayContextFailed = true;
return;
}
P_GET_PROPERTY(UIntProperty, Index);
P_FINISH;
bool WasValid = GenericArray_IsValidIndex(ArrayAddr, ArrayProperty, Index);
*(bool*)RESULT_PARAM = WasValid;
}
bool UVictoryBPFunctionLibrary::GenericArray_IsValidIndex(void* TargetArray, const UArrayProperty* ArrayProp, int32 Index)
{
bool bResult = false;
if (TargetArray)
{
FScriptArrayHelper ArrayHelper(ArrayProp, TargetArray);
bResult = ArrayHelper.IsValidIndex(Index);
}
return bResult;
}
IsValidIndex fix:
DECLARE_FUNCTION(execArray_IsValidIndex)
{
Stack.MostRecentProperty = nullptr;
Stack.StepCompiledIn<UArrayProperty>(NULL);
void* ArrayAddr = Stack.MostRecentPropertyAddress;
UArrayProperty* ArrayProperty = Cast<UArrayProperty>(Stack.MostRecentProperty);
if (!ArrayProperty)
{
Stack.bArrayContextFailed = true;
return;
}
P_GET_PROPERTY(UIntProperty, Index);
P_FINISH;
bool WasValid = GenericArray_IsValidIndex(ArrayAddr, ArrayProperty, Index);
*(bool*)RESULT_PARAM = WasValid;
}
bool UVictoryBPFunctionLibrary::GenericArray_IsValidIndex(void* TargetArray, const UArrayProperty* ArrayProp, int32 Index)
{
bool bResult = false;
if (TargetArray)
{
FScriptArrayHelper ArrayHelper(ArrayProp, TargetArray);
bResult = ArrayHelper.IsValidIndex(Index);
}
return bResult;
}
I’m still getting crashes.
Mosel3y
(Mosel3y)
September 3, 2015, 9:22am
1149
Hey , your LoadTexture2D_FromFileByExtension node isn’t working correctly for me any more in 4.9, I’m getting a sort of hue shifted effect:
How the colours should look:
edit:
Changing
Texture = UTexture2D::CreateTransient(ImageWrapper->GetWidth(), ImageWrapper->GetHeight(), PF_B8G8R8A8);
to
Texture = UTexture2D::CreateTransient(ImageWrapper->GetWidth(), ImageWrapper->GetHeight(), PF_R8G8B8A8;
fixes it
Parvan
(Parvan)
September 3, 2015, 9:44pm
1150
Error 1 error : declaration shadows a local variable -Werror,-Wshadow] U:\Files\user\Documents\Unreal Projects\Random Mercurial Commit\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp 2748 13 Random
Error 2 error : Failed to produce item: U:\Files\user\Documents\Unreal Projects\Random Mercurial Commit\Plugins\VictoryPlugin\Binaries\Linux\libRandom-VictoryBPLibrary.a U:\Files\user\Documents\Unreal Projects\Random Mercurial Commit\Intermediate\ProjectFiles\ERROR Random
Error 3 error MSB3073: The command “V:\UnrealEngine-4.8.3-release\Engine\Build\BatchFiles\Build.bat Random Linux Development “U:\Files\user\Documents\Unreal Projects\Random Mercurial Commit\Random.uproject”” exited with code -1. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.MakeFile.Targets 38 5 Random
MainFrameActions: Packaging (Linux): UnrealBuildTool: U:\Files\user\Documents\Unreal Projects\Random Mercurial Commit\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(2748,13) : error: declaration shadows a local variable -Werror,-Wshadow]
MainFrameActions: Packaging (Linux): UnrealBuildTool: for (int32 Itr = 0; Itr < SocketNames.Num(); Itr++ )
MainFrameActions: Packaging (Linux): UnrealBuildTool: ^
MainFrameActions: Packaging (Linux): UnrealBuildTool: U:\Files\user\Documents\Unreal Projects\Random Mercurial Commit\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Private\VictoryBPFunctionLibrary.cpp(2680,37) : note: previous declaration is here
MainFrameActions: Packaging (Linux): UnrealBuildTool: TObjectIterator<APlayerController> Itr;
MainFrameActions: Packaging (Linux): UnrealBuildTool: ^
MainFrameActions: Packaging (Linux): UnrealBuildTool: 1 error generated.
MainFrameActions: Packaging (Linux): UnrealBuildTool: -------- End Detailed Actions Stats -----------------------------------------------------------
MainFrameActions: Packaging (Linux): UnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: U:\Files\user\Documents\Unreal Projects\Random Mercurial Commit\Plugins\VictoryPlugin\Binaries\Linux\libRandom-VictoryBPLibrary.a
MainFrameActions: Packaging (Linux): UnrealBuildTool: Total build: 112.39 seconds
MainFrameActions: Packaging (Linux): CommandUtils.Run: Run: Took 112.626s to run UnrealBuildTool.exe, ExitCode=5
MainFrameActions: Packaging (Linux): ErrorReporter.Error: ERROR: AutomationTool error: Command failed (Result:5): V:\UnrealEngine-4.8.3-release\Engine\Binaries\DotNET\UnrealBuildTool.exe Random Linux Development "U:\Files\user\Documents\Unreal Projects\Random Mercurial Commit\Random.uproject
MainFrameActions: Packaging (Linux): " -noxge -NoHotReloadFromIDE -ignorejunk. See logfile for details: ‘UnrealBuildTool.txt’
MainFrameActions: Packaging (Linux): BuildCommand.Execute: ERROR: BUILD FAILED
I have a problem with a linux build. I tried a version of the plugin from June and also a version from 08-26-15. The both had error. Any ideas?
Thanks for your awesome plugin!
Edit: Fixed, see below
Kris
(Kris)
September 4, 2015, 3:57am
1151
Hey , your LoadTexture2D_FromFileByExtension node isn’t working correctly for me any more in 4.9, I’m getting a sort of hue shifted effect:
Changing
Texture = UTexture2D::CreateTransient(ImageWrapper->GetWidth(), ImageWrapper->GetHeight(), PF_B8G8R8A8);
to
Texture = UTexture2D::CreateTransient(ImageWrapper->GetWidth(), ImageWrapper->GetHeight(), PF_R8G8B8A8;
fixes it
Funny, that’s what my version already has.
I must have updated it a while back without sending it to .
My bad
Parvan
(Parvan)
September 4, 2015, 5:10am
1152
Hi @,
Thanks for the plugin!
I had to make a fix to get it building under Linux - the diff follows.
Have you considered putting your code on Github so people can send you pull requests for fixes/additions that you can easily decide to accept or not? If you are wlling, I offer to help set it up for you.
diff --git a/GameProject/Plugins/VictoryPlugin/Source/VictoryBPLibrary/Private/VictoryBPFunctionLibrary.cpp b/GameProject/Plugins/VictoryPlugin/Source/VictoryBPLibrary/Private/VictoryBPFunctionLibrary.cpp
index 014cab1..6fe8e0e 100644
--- a/GameProject/Plugins/VictoryPlugin/Source/VictoryBPLibrary/Private/VictoryBPFunctionLibrary.cpp
+++ b/GameProject/Plugins/VictoryPlugin/Source/VictoryBPLibrary/Private/VictoryBPFunctionLibrary.cpp
@@ -2711,13 +2711,13 @@ AActor* UVictoryBPFunctionLibrary::Traces__CharacterMeshTrace___ClosestSocket(
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//Check Bones Locations
- for (int32 Itr = 0; Itr < SocketNames.Num(); Itr++ )
+ for (int32 SItr = 0; SItr < SocketNames.Num(); SItr++ )
{
//Is a Bone not a socket?
- if(SocketNames[Itr].Type == EComponentSocketType::Bone) continue;
+ if(SocketNames[SItr].Type == EComponentSocketType::Bone) continue;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- CurLoc = AsCharacter->Mesh->GetSocketLocation(SocketNames[Itr].Name);
+ CurLoc = AsCharacter->Mesh->GetSocketLocation(SocketNames[SItr].Name);
//Dist
CurDist = FVector::Dist(OutImpactPoint, CurLoc);
@@ -2725,7 +2725,7 @@ AActor* UVictoryBPFunctionLibrary::Traces__CharacterMeshTrace___ClosestSocket(
//Min
if (ClosestDistance < 0 || ClosestDistance >= CurDist)
{
- ClosestVibe = Itr;
+ ClosestVibe = SItr;
ClosestDistance = CurDist;
}
}
Now I need to see how to deal with the Dedicated Server build failing because VictoryBPLibrary depends on UElibPNG - the build error:
Building DescentServer...
Using clang version '3.5.0' (string), 3 (major), 5 (minor), 0 (patch)
Linux dedicated server is made to depend on UElibPNG. We want to avoid , please correct module dependencies.
ERROR: Exception thrown while processing dependent modules of VictoryBPLibrary
Exception thrown while processing dependent modules of ImageWrapper
ERROR: Unable to instantiate instance of 'UElibPNG' type from compiled assembly 'DescentServerModuleRules'. Unreal Build Tool creates an instance of your module's 'Rules' in order to find out about your module's requirements. The CLR exception details may provide more information: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> ERROR: Linux dedicated server is made to depend on UElibPNG. We want to avoid , please correct module dependencies.
Edit: I had to remove ImageWrapper as a dependency and ifdef out code using it in the plugin to get DedicatedServer to build.
fixed my problem as well. Thanks Stormwind!
Shrooblord
(Shrooblord)
September 4, 2015, 2:15pm
1153
I’m getting an error saying “VictoryPlugin could not be loaded because the module VictoryBPLibrary could not be found.” I’ve looked in the plugin’s Source folder and… well… it’s right there. Not sure what the plugin is not seeing that I can.
Rama
(Rama)
September 4, 2015, 3:15pm
1154
Changing
Texture = UTexture2D::CreateTransient(ImageWrapper->GetWidth(), ImageWrapper->GetHeight(), PF_B8G8R8A8);
to
Texture = UTexture2D::CreateTransient(ImageWrapper->GetWidth(), ImageWrapper->GetHeight(), PF_R8G8B8A8;
fixes it
Dear ,
I just checked and the current version of the function has source code, which includes your fix, nice to hear from you!
is the most recent Victory Plugin on mediafire and the wiki
UTexture2D* UVictoryBPFunctionLibrary::LoadTexture2D_FromFileByExtension(const FString& ImagePath, bool& IsValid, int32& OutWidth, int32& OutHeight)
{
UTexture2D* Texture = nullptr;
IsValid = false;
// To avoid log spam, make sure it exists before doing anything else.
if (!FPlatformFileManager::Get().GetPlatformFile().FileExists(*ImagePath))
{
return nullptr;
}
TArray<uint8> CompressedData;
if (!FFileHelper::LoadFileToArray(CompressedData, *ImagePath))
{
return nullptr;
}
IImageWrapperPtr ImageWrapper = GetImageWrapperByExtention(ImagePath);
if (ImageWrapper.IsValid() && ImageWrapper->SetCompressed(CompressedData.GetData(), CompressedData.Num()))
{
const TArray<uint8>* UncompressedRGBA = nullptr;
if (ImageWrapper->GetRaw(ERGBFormat::RGBA, 8, UncompressedRGBA))
{
Texture = UTexture2D::CreateTransient(ImageWrapper->GetWidth(), ImageWrapper->GetHeight(), PF_R8G8B8A8);
if (Texture != nullptr)
{
IsValid = true;
OutWidth = ImageWrapper->GetWidth();
OutHeight = ImageWrapper->GetHeight();
void* TextureData = Texture->PlatformData->Mips[0].BulkData.Lock(LOCK_READ_WRITE);
FMemory::Memcpy(TextureData, UncompressedRGBA->GetData(), UncompressedRGBA->Num());
Texture->PlatformData->Mips[0].BulkData.Unlock();
Texture->UpdateResource();
}
}
}
return Texture;
}
Rama
(Rama)
September 4, 2015, 3:17pm
1155
You’re welcome, and I am glad Stormwind’s Linux packaging fix worked for you!
Mosel3y
(Mosel3y)
September 4, 2015, 3:24pm
1156
Yes, sorry about that guys, I’ve just realized I’d coppied in an older version that I had broken myself, not the latest :eek:
Rama
(Rama)
September 4, 2015, 3:35pm
1158
In regard to IsValidIndex
I can confirm I was still getting crashes too, I looked into the code and fixed it, here is the correct .h file for 4.9.0
/*
*See if index is a valid index for array
*
*@param TargetArray The array to perform the operation on
*@param Index The index to check.
*@return Bool if integer is valid index for array
*/
UFUNCTION(Category="VictoryBPLibrary|Utilities|Array", BlueprintPure, CustomThunk, meta=(DisplayName = "Valid Index", CompactNodeTitle = "VALID INDEX", ArrayParm = "TargetArray"))
static bool Array_IsValidIndex(const TArray<int32>& TargetArray, int32 Index);
static bool GenericArray_IsValidIndex(void* TargetArray, const UArrayProperty* ArrayProp, int32 Index);
DECLARE_FUNCTION(execArray_IsValidIndex)
{
Stack.MostRecentProperty = nullptr;
Stack.StepCompiledIn<UArrayProperty>(NULL);
void* ArrayAddr = Stack.MostRecentPropertyAddress;
UArrayProperty* ArrayProperty = Cast<UArrayProperty>(Stack.MostRecentProperty);
if (!ArrayProperty)
{
Stack.bArrayContextFailed = true;
return;
}
P_GET_PROPERTY(UIntProperty, Index);
P_FINISH;
bool WasValid = GenericArray_IsValidIndex(ArrayAddr, ArrayProperty, Index);
*(bool*)RESULT_PARAM = WasValid;
}
Uploading new plugin version shortly.
Rama
(Rama)
September 4, 2015, 3:40pm
1159
My plugin is now on 4.9.0, please use prior versions if you are using a prior engine version
Unfortunately I have no easy way to notate on the wiki which version corresponds to which date.
Rama
(Rama)
September 4, 2015, 3:43pm
1160
New Plugin Version, IsValidIndex crashfix
Dear Community,
I’ve posted a new version of my Victory BP Library where IsValidIndex no longer crashes.
Again please note the plugin is now on UE4 version 4.9.0**
**
**Latest plugin download on the UE4 Wiki: (15.22 mb) **
https://wiki.unrealengine.com/File:VictoryPlugin.zip
Victory Plugin on Media Fire
If your browser is not updating the Wiki download page to the most recent version, you can use my alternative Media Fire download link!
Please note clicking link will not start a download instantly, it will just take you to the Media Fire file description.
MediaFire is a simple to use free service that lets you put all your photos, documents, music, and video in a single place so you can access them anywhere and share them everywhere.
**Note on Packaging Victory Plugin**
https://forums.unrealengine.com/showthread.php?3851-(39)--s-Extra-Blueprint-Nodes-for-You-as-a-Plugin-No-C-Required!&p=368790&viewfull=1#post368790
Enjoy!
:)