As soon as it is ready and tested in packaged game as not having any weird dependencies that prevent packaging, I will be happy to add it to Victory Branch and give you credit !
yeah for and his RSUMG!
Letās see if anyone can guess what the S stands for
Sutra?
Hee hee, close!
To give a better hint,
RUMG, the R stands for ā'sā
UMG is just UMG
so
the S is the only part left to figure out
Hey ! Awesome plugin! Iāve been using it in my project and it has so much extra nodes that are incredibly helpful! Thanks for that! Iāve run into a bit of a problem though, when I try to package the game for testing on multiple computers I get error message:
Iām guessing I need to put the plugin somewhere in the packaged game folders, Iāve tried putting it in Projectname/Plugins as well as Engine/Plugins, but still that error message appears so I figured I would ask!
Are you using the current available plugin ? ( Newest ). Are you using UE4.6 and not an older version ? is supposed to be in :
ProjectName\Plugins
is a path for one of the files :
ProjectName\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Classes\VictoryBPFunctionLibrary.h
Check if you are not missing anything in that path.
New Node Contributed by !
In the most recent version of my Victory BP Library Plugin is a node contributed by !
node lets you switch the player HUD during runtime!
Thanks !
Thats easy, the S stands for Super.
-Zhi
Hee ehee!
Actually it stand for Sexy!
's Sexy UMG!
Hee hee!
But I like super too
Maybe RSSUMG ?
Get Your IP Address From Witin UE4
BP Node to Get Your Computerās IP Address!
Dear Community,
Iāve finally succeeded at implementing a node that many have been trying to implement since the Beta!
is a BP node that gets the IP address of your computer!
My node relies on http://api.ipify.org, a free and easy way to get your current IP address.
Because node involves an HTTP request I canāt make it a static library node, so I instead made a VictoryPC class that contains only functionality.
You can easily re-parent your current player controller blueprint to use my plugin VictoryPC class!
File->Reparent
and if you are not using a PC already, make sure to go to World Settings and use my VictoryPC as your player controller!
As long as my Victory BP Library is an active plugin for you, then VictoryPC class will show up!
Download:
**Celebration!**
Yay!
Now we can get the IP address of the local computer for use with multiplayer games or webserver activities!
Enjoy!
Pic
Hereās the setup you should create in your Blueprinted version of my VictoryPC!
**C++ Source Code For You**
Here is the C++ source code I wrote just earlier today!
```
bool AVictoryPC::VictoryPC_GetMyIP_SendRequest()
{
FHttpModule* Http = &FHttpModule::Get();
if(!Http)
{
return false;
}
if(!Http->IsHttpEnabled())
{
return false;
}
//~~~~~~~~~~~~~~~~~~~
FString TargetHost = "http://api.ipify.org";
TSharedRef < IHttpRequest > Request = Http->CreateRequest();
Request->SetVerb("GET");
Request->SetURL(TargetHost);
Request->SetHeader("User-Agent", "VictoryBPLibrary/1.0");
Request->SetHeader("Content-Type" ,"text/html");
Request->OnProcessRequestComplete().BindUObject(, &AVictoryPC::HTTPOnResponseReceived);
if (!Request->ProcessRequest())
{
return false;
}
return true;
}
void AVictoryPC::HTTPOnResponseReceived(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful)
{
->VictoryPC_GetMyIP_DataReceived(Response->GetContentAsString());
}
```
ā„
You sir, are a god of men.

So Iāve fleshed out two different paths for the new rand functions, basically you donāt have to do anything but either use the construct rand ONCE like in begin play somewhere, or seed rand somewhere like construct rand and use the functions, if you use construct rand, it will determine if you have access to a random device, (entropy chip) if not it will default to a default random engine, it will use number from either the random device or use āstd::chrono::system_clock::now().time_since_epoch().count();ā to seed a pseudo random number generator then you can use the random functions iāve included. You can also construct rand for some generations, then seed with others, itās pretty awesome! im working on a ton of other engines and distributions exposed but for now there is; rand bool - Bernoulli distribution, rand int uniform 0-1 distribution, rand double uniform 0-1 distribution, rand int - min to uniform distribution, rand double - min to uniform distribution, but first i was just wondering, what kind of packaging testing i should do, atm i only have access to the windows 32 path. I packaged it into shipping and it seems to work. Anyone up for some testing on other systems ? Currently the only dependencies are <random> and <chrono> which are both c++ 11 headers
p.s. the picture has an error (not error, but random float has the min and variables as ints and i guess they should be floats not ints.)
Yeah, Iāve tried both 4.5 and 4.6 using the appropriate plugin, still doesnāt work⦠And just to be sure weāre on the same page, the plugin itself works just fine, itās just that when I build the game and try to run the built game I get error, have you been able to build a game with a plugin? Anything else I need doing for it to work? My project is blueprint only, maybe I need to have a code project?
My project is blueprint only, maybe I need to have a code project?
Yes you do need code based project for now, of plugins not working for BP-only projects is going to be resolved soon by Epic.
is great Saxon Rah!
If you send me the code or send me my latest plugin version with your code integrated I can add it to Victory Branch
's Suite of Powerful UMG Nodes
Here are the 3 core BP nodes that Iāve been using to make of my complicated interacting UMG menus, including an in-game file browser and a menu that allows you to change the materials on any skeletal mesh, while in-game!
These nodes are available to you now!
**Get Widgets of Class**
Allows you to not have to store references everywhere to your widgets, making it easy to interact with the Player Controller and My Character blueprints :)
Also makes it easy to remove a loading screen after a level transition, without storing refs in Game Instance class
Remove Widgets Of Class
You can find and remove any widget any way, no matter where you are in BP! (here I am in the Level BP)
** Tip:**
If you make a general superclass for your widgets (Reparent to a blank UserWidget of your own making), you can clear your entire UI system from the viewport with a single call to RemoveAllWidgetsOfClass, supplying the class that is your super class for your user widgets!
So lets say you have 3 user widgets that you made, make a 4th that is blank, reparent your existing 3 to your new empty 4th widget (āWidgetMasterā for example).
Now you can just call RemoveAllWidgetsOfClass on your new 4th widget, WidgetMaster, and 3 of your existing widgets will be removed automatically from the viewport!
**Is Widget Of Class In Viewport**
Take action based on the dynamic lookup of whether a certain widget is currently visible!
No need to store refs or bools anywhere, just do a dynamic look up that is lightning fast!
ā„

BP Node to Get Your Computerās IP Address!
Dear Community,
Iāve finally succeeded at implementing a node that many have been trying to implement since the Beta!
is a BP node that gets the IP address of your computer!
My node relies on http://api.ipify.org, a free and easy way to get your current IP address.
Because node involves an HTTP request I canāt make it a static library node, so I instead made a VictoryPC class that contains only functionality.
You can easily re-parent your current player controller blueprint to use my plugin VictoryPC class!
File->Reparent
and if you are not using a PC already, make sure to go to World Settings and use my VictoryPC as your player controller!
As long as my Victory BP Library is an active plugin for you, then VictoryPC class will show up!
Download:
**Celebration!**
Yay!
Now we can get the IP address of the local computer for use with multiplayer games or webserver activities!
Enjoy!
Pic
Hereās the setup you should create in your Blueprinted version of my VictoryPC!
**C++ Source Code For You**
Here is the C++ source code I wrote just earlier today!
```
bool AVictoryPC::VictoryPC_GetMyIP_SendRequest()
{
FHttpModule* Http = &FHttpModule::Get();
if(!Http)
{
return false;
}
if(!Http->IsHttpEnabled())
{
return false;
}
//~~~~~~~~~~~~~~~~~~~
FString TargetHost = "http://api.ipify.org";
TSharedRef < IHttpRequest > Request = Http->CreateRequest();
Request->SetVerb("GET");
Request->SetURL(TargetHost);
Request->SetHeader("User-Agent", "VictoryBPLibrary/1.0");
Request->SetHeader("Content-Type" ,"text/html");
Request->OnProcessRequestComplete().BindUObject(, &AVictoryPC::HTTPOnResponseReceived);
if (!Request->ProcessRequest())
{
return false;
}
return true;
}
void AVictoryPC::HTTPOnResponseReceived(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful)
{
->VictoryPC_GetMyIP_DataReceived(Response->GetContentAsString());
}
```
ā„