(39) 's Extra Blueprint Nodes for You as a Plugin, No C++ Required!

The Capture 2D Save Image node requires a SceneCapture2D actor or SceneCaptureComponent2D as the Target, depending on which one you use.

Hey, I have 2 requests if possible.

1 - I ıntegrate Nvidia Ansel to my project. Key to open it is Alt+F2. I tried to use your Simulate Key Press node and hooked it to a button on UMG. But it doesnt work with modifiers such as Alt. Can you make it work with modifiers too?
441e6eb5927594b47df750e8eb5dc06412af8165.jpeg


2 - Get Desktop Path node

Thank you so much for you awesome work :slight_smile:

Warning and Error

Hello ! I hope to have your attention!!

I know that your plugin is not officially developed for but I have been using it in 4.16 for a while now and it just works amazing!

But when I updated to 4.17.1 (and of course, downloaded the updated plugin and again adding to the Whitelist and compiling for the plataforms in VS) while compiling for in the Editor warning is showed:

and then at the very end it shows error:

Then I reported here thinking it was an Engine error rather than have to see with the plugin itself, but other projects without the plugin compile just fine :frowning:

It is possible to you see what’s wrong? Or tell us how to fix ? :c
Thanks a lot, you have very much for us already <3

Hi there

It seems the: “Joy File IO Get Files” might not be working correctly.

The boolean return valleu always return true, even if there was no files to be found in the specified directory. Not sure if is the way it is suposed to function?

Hi and Community!

First, I love the plugin! thread has been full of great ideas and support.
Second, , I see you everywhere! You show up in the odd forum posts that I read and often times in the answer hub too. You’re a legend.

I have a big ask. I’ve created and finished a project using a few of the Victory blueprints. On windows it packages nicely and I haven’t had any problems. I’ve run it on a variety of devices and it’s good to go. However I also need to package my game for a Mac, so I’ve transferred my project to a Mac laptop, rebuilt with xcode, and everything (even other plugins) work except the Victory plugin. I’m using UE4 4.15.3.

Is there a way you or somebody could make Mac compatible? Is there anything that I have to do to compile it on my Mac? I’m very open to any suggestions.

Thank you!

Hi there @DavidHuizing ! Welcome to the UE4 forums!!

I made a mac version of the Victory plugin a while back, if you are using only nodes found in the older version you’d probably find it easier to start from version:

Victory Plugin for Mac (several versions old)

Again please note there have been engine changes since mac version you might have to incorporate, but most engine changes have been minor in recent engine versions and you could compare with current / 4.15 build and probably sort it out pretty quick.

:heart:

PS: if you or anyone gets a 4.15+ mac build going I’d be happy to host it on my media fire account.

“Get Desktop Path node”

What do you mean by ? sounds windows specific? If you had the Username of the owner of the windows machine getting desktop path is easy, I could see about a Get Computer User Name node, but I will need to make sure the solution is cross platform.

:heart:

​​​​​​​

Oh good point! I am indeed returning true even if no files were found.

My intention was that the boolean would indicate if there was a file IO error, as in the disk could not be read or the file path was wrong.

There’s still room to improve the code though because currently I am not validating the path specified.

I’ve made an improvement and change will be in the next version of Victory BP Library :slight_smile:

For now you can just do array -> length > 0 boolean check to know if there’s anything for your logic to do :slight_smile:

:heart:

**Get Vertex Locations of Static Mesh

Works in Packaged Games**


**My C++ Code For You**

See my PhysX wiki for the basic build.cs setup:
[https://wiki.unrealengine.com/PhysX,...o_Your_Project](https://wiki.unrealengine.com/PhysX,_Integrating_PhysX_Code_into_Your_Project)

Here is the code I wrote to get  of the transformed vertex positions using the Body Instance and PhysX code!

I am doing many safety checks to ensure the Body Instance data is valid before utilizing it, and the result is that now you can get accurate vertex locations in packaged games!



```


//~~~ PhysX ~~~
#include "PhysXIncludes.h"
#include "PhysicsPublic.h" //For the ptou conversions
//~~~~~~~~~~~

//Get Transformed Vertex positions of any static mesh! -
bool UVictoryBPFunctionLibrary::GetStaticMeshVertexLocations(UStaticMeshComponent* Comp, TArray<FVector>& VertexPositions)
{

if(!Comp || !Comp->IsValidLowLevel())
{
return false;
}
//~~~~~~~~~~~~~~~~~~~~~~~

//Component Transform
FTransform RV_Transform = Comp->GetComponentTransform();

//Body Setup valid?
UBodySetup* BodySetup = Comp->GetBodySetup();

if(!BodySetup || !BodySetup->IsValidLowLevel())
{
return false;
}

//Get the Px Mesh!
PxTriangleMesh* TriMesh = BodySetup->TriMesh;

if(!TriMesh)
{
return false;
}
//~~~~~~~~~~~~~~~~

//Number of vertices
PxU32 VertexCount = TriMesh->getNbVertices();

//Vertex array
const PxVec3* Vertices = TriMesh->getVertices();

//For each vertex, transform the position to match the component Transform
for(PxU32 v = 0; v < VertexCount; v++)
{
VertexPositions.Add(RV_Transform.TransformPosition(P2UVector(Vertices[v])));
}

return true;
}


```





Download Links

4.17 Build (win32, win64, editor, dev packaged, and shipping)
http://www.mediafire.com/file/8slx62…toryPlugin.zip

:heart: Please note I now use the UE4 Marketplace C++ Plugin Standard when packaging Victory plugin for you :heart:

  1. Win64 Development
  2. Win64 Shipping <~~~~~~ NEW!
  3. Win32 Development
  4. Win32 Shipping

Please see my instructions for Packaging UE4 Plugins With Your Game.


**Prior Engine Versions**

**4.11: **[http://www.mediafire.com/download/jp...ryPlugin11.zip](http://www.mediafire.com/download/jp91b9atphm2obt/VictoryPlugin11.zip)

**4.12: **[http://www.mediafire.com/download/g4...ryPlugin12.zip](http://www.mediafire.com/download/g441k2815r5b045/VictoryPlugin12.zip)

**4.13: **https://www.mediafire.com/?7kt9fepwa1pgs0y

**4.14: ** [http://www.mediafire.com/file/7915cu...ryPlugin14.zip](http://www.mediafire.com/file/7915cuk19c3nbfw/VictoryPlugin14.zip)

**4.15: ** https://www.mediafire.com/?6nne04gd74emnzu

**4.16: ** [http://www.mediafire.com/file/ieovbd...ryPlugin16.zip](http://www.mediafire.com/file/ieovbd5l9d7yub2/VictoryPlugin16.zip)

Donations can be sent to me via:

:heart:

Yes, I asked that for windows. Get Computer User Name would be great too

Hi,

I am having some issues compiling for Linux (pulled plugin from your git)

Cheers

Hello there!

Is there a version for 4.17.1 yet?

I tried the 4.17 posted above into my engine/plugins folder but it says not compatible? :frowning:

Dear Community,

Here in the Victory Plugin I am providing you with platform-agnostic nodes to obtain absolute paths to your game in editor or packaged form from BP !

:heart:

Hi, what a great plugin, thanks.
It’s easy to use for me who knows blueprint only. unfortunately, I can not pre-compile the plugin for android. it would be great if anyone can share it, or teach me how to compile it. I am really a noob and need that for gear vr development. thanks anyway.

Hello, . Looks like there is an with a couple of your functions: GetConsoleVariableFloat and GetConsoleVariableInt. Check it out:



int32 UTKMathFunctionLibrary::GetConsoleVariableInt(FString VariableName)
{
**static** const auto CVar = IConsoleManager::Get().FindTConsoleVariableDataInt(*VariableName);

    if (CVar)
    {
        return CVar->GetValueOnGameThread();
        //return CVar->GetValueOnAnyThread();
    }
    return 0;
}


Note the “static” there. While it’s valid in Epic documentation[SUP]1[/SUP], it isn’t in your case, since they search for text literal in their example, i.e. same variable every , and your function gets variable name as a parameter, so the search result should differ every . If I’m not missing anything and you agree with my conclusion, please fix in both functions.

(1) .unrealengine.com/latest/INT/Programming/Development/Tools/ConsoleManager/#gettingthestateofaconsolevariable

I am not the author of those nodes, TK authored the TK BP library, you should consult with him about your concerns.

Also I have made a github for the Victory Plugin, so you could consider contributing here:


**Hurricane Irma About to Hit SW Florida**

I am physically fleeing hurricane Irma:

[https://www.nytimes.com/2017/09/08/u...a.html?mcubz=3](https://www.nytimes.com/2017/09/08/us/hurricane-irma-florida.html?mcubz=3)

So I cannot address your concerns at the moment due to being completely dislocated by the hurricane

People in my area are fleeing into shelters inside of schools hoping to stay alive

The Storm Surge is predicted to be 8-12 feet, which is sort of like the rush of a tsunami, hits a in a few moments ,and wipes out people who did not get to safety.

♥



=8v4uE1d7Cpk

Everything else is irrelevant then. Stay safe!

Hi ,

Hope you are safe from the hurricane.

When you are back & safe, can you please look into . It’s happening when trying to compile for Linux:

EDIT:

Found the & made pull request: /pull/31

Cheers.

Hee hee! Yea I managed to get out in :slight_smile:

Did you want to make pull request for the fixes you suggested?

:heart:




[quote="thejhNZ, post:2085, topic:3448"]

Hi ,

Hope you are safe from the hurricane.

Found the & made pull request: /pull/31

Cheers.
[/QUOTE]


Yup  is well!

Ahh great thanks! I will integrate  along with 4.18 build.


♥
​​​​​​​

Hello! Super great plugin! But I am having a problem using “Capture 2D Save Image” function. Whatever I do, it always returns false and obviously doesn’t save anything.
Nevermind! Just solved it by taking a look at a plugin’s source code. By the way, you really should add a note that the only supported format for function is B8G8R8A8, because that took me a while before I actually decided to take a look at the source code.

, have you updated the Victory Plugin to 4.17? I cant figure out how to compile it from the source code