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

**Get All Screen Resolutions
Now works in packaged games!

You can use this with your UMG menus!

It gathers data specific to the end user’s display adapter, including all available refresh rates :slight_smile:

old but has nice in-game pic


Hi Rama,

Any change your plugin will work with 4.6 (source)?



Sorry to bug you, and thanks for the awesome work!

I’m working on a Mac and am getting following error when trying to install the Victory plugin:

The following modules are missing or built with a different engine version:


Would you like to rebuild them now?

It does not build if I try to rebuild them…I presume because I’m not using the source code. I downloaded the precompiled plugin.

Does this plugin work with Mac? If not, is there a way to compile it so that it would? Or, am I just doing something wrong?


I will upgrade the plugin to 4.6 when it is released! :slight_smile:


I dont have a mac so I cant test, can anyone else verify whether they've used my plugin with a mac?


Hey, did you think about putting plugin source on GitHub ?

Then, instead of waiting until it will work with next version, people could make it work themselves and send changes back to you (;.

Many thanks, hopefully 4.6 will be released soon.

I have both PC and Mac but use PC mainly. I can use Mac to test your plugin out though. What version of UE4 should I download? Release?


aaand 4.6 is getting released today xD

4.6 Update Completed

My Victory Plugin is now update to 4.6!

Let me know how it goes everyone!


Download Link to All File Versions


Many thanks for this although I still get the "The following modules are missing or built with a different engine version: UE4Editor-VictoryEdEngine.dll UE4Editor-VictoryBPLibrary.dll Would you like to rebuild them now? error with no luck rebuilding them. Should I rebuild my UE4 editor as a whole too?

4.6 Package and Play Success

I just packaged and played a game using my Victory Plugin in 4.6, yay!

Can you clarify the conditions under which it is not working?

  1. pc works but mac doesnt?


  1. neither work and your project does not have any C++ source code in it


  1. something else?


Many thanks for the reply!

  1. PC, using 4.6 Source Build.

  2. I’ve tried on two projects, one with no C++ in and the other being a C++ project. Still doesn’t work :frowning:

  3. I can try it on release Mac if you want?


Forget that! Works!

Just got the rebuild working, took about 5 mins but works fine now!


4.6 Victory Plugin works like a charm out of the box, switched to from the previous version. I was using only one node, though.





Have fun today!


I’ve noticed that the ‘Victory Get Victory Input’ function isn’t a blueprint node anymore. Is this an error or is it not needed anymore?

‘Warning Could not find the function ‘VictoryGetVictoryInput’ called from Victory Get Victory Input’ - Relevant

There doesn’t seem to be a download link to the 4.6 version. The most recent version is still showing as having been uploaded on Nov 15.

Victory Get Victory Input Node Restored

I have uploaded a new version that has this node restored!

I had temporarily disabled it while learning how this node would have to work in 4.6.

I’ve now reimplemented this node in 4.6!

Download Page



New Sound Node For you

Keep in mind you can now get/set the volume of any sound class to any value you want, anywhere in BP, any time!




Rama’s Suite of Powerful UMG Nodes

Here are the 3 core BP nodes that I’ve been using to make all 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 All 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 All Widgets Of Class

You can find and remove any widget any time this way, no matter where you are in BP! (here I am in the Level BP)

Rama Tip:
If you make a general superclass for all 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 all 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 all 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!




:slight_smile: you should add some better random number generator in this, as default ue uses rand() it would be better to use a random device with a kind of engine and the use of a distribution.

#include <random>
std::random_device rd;
std::mt19937 gen(rd());

int IntRand(){
    std::uniform_int_distribution<> dis(0, 1);
    return dis(gen);
double DoubleRand(){
    std::uniform_real_distribution<> dis(0, 1);
    return dis(gen);

int IntRandRange(int a, int b){
    std::uniform_int_distribution<> dis(a, b);
    return dis(gen);
double DoubleRandRange(float a, float b){
    std::uniform_real_distribution<> dis(a, b);
    return dis(gen);
bool BoolRand(){ 
     std::bernoulli_distribution dis(0.5);
     return dis(gen);