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

That’s what i started out with, but i soon realised that most (if not all) upgrades will do different things so using one class + structs would make things really messy. For example, one upgrade might be a short boost in health, while another upgrade will permanently increase health regeneration, yet another one allows faster movement speed in certain areas. What i’m currently doing is spawning an upgrade that receives a notification when bought together with the buying playercontroller so it can do whatever it does.
I figured it would be easier to use different BPs for the upgrades so it’s easier to keep track of what a certain upgrade does and where things might be going wrong.


yea the big complication with my suggestion is that you cant add functions to Structures in BP, but you can in C++

So I can do everything I can do in a class in a USTRUCT in c++, but not so in BP, yet, maybe Epic will fix this at some point!

Once you can make BPs of UObjects I’d recommend going the Uboject route

having an Actor BP for every upgrade is pretty intense :slight_smile:


Get Screen Resolutions Now Works in Packaged Game

My Get Screen Resolution Nodes works in packaged games now!

In 4.3 the core function in C++ was not working in BP, but now it is! Epic fixed it!

Enjoy getting the screen resolutions of the end user’s hardware in your game now!

It is obtained from the user’s display adapter directly! No guessing or preset values!




I did not know there is a structure BP until this thread. Good Info.

Anyway Rama, a dumb question, I just need overwrite the last plugin with the latest plugin?

Will existing Victory nodes (using previous version of your plugin) need reconnecting, or jut work out of the box?

I used a few of your plugin like OS clock/Time & some others I forgot.

If you download the latest version of my plugin you will only be getting new nodes and your previous ones will still work!

top secret: my latest download already has a get vertices of static mesh node that I"ve not yet ahem officially publically announced yet

Thanks Rama.

Now, we only need a function node that make coffee…

Blueprint Node to access Vertex information of static meshes / collision blocks

Hi Rama,

I am currently working on my graduate thesis on fire propagation. My thesis explores what I have coined “material based fire propagation”; fire reacts and spreads differently when interacting with different surfaces. In the process, I am hoping to build an intelligent fire system. As a first step, I need to be able to access the vertices of a mesh so that i can propagate emitters along those vertices. What I have achieved so far is to be able to propagate along spline meshes. This is because of blueprint nodes available to calculate number of points along a spline, point locations along a spline and so on. But there are no blueprints available to do similar things with other types of meshes (e.g. static meshes). I am aware of other threads where you had posted codes to help people integrate it into their work. One such example, being “”. However, when I tried to do the same with the codes posted, I keep getting compile errors which points to some default unreal api header files. Being primarily a texture artist and designer, I have difficulty trying to get codes to work and I am very rusty with c++. Would it be possible to help me out with blueprint nodes that can calculate and access vertex information of static meshes please? I am sure other artists and designers would benefit from mesh “vertex info access” blueprint nodes.


Hey Rama,

I think I got your victory plug-in to work. I am gonna play with it to see what it can do :). Thanks alot for the plug-in!!!


Thx for the plugin Rama!

**New Node

Get Static Mesh Vertex Locations!**

Dear CatchPhyre,

As per your request I have now made a node to get the rotated,scaled,translated positions of all vertices of a static mesh!

This node is live in the current most recent plugin version!

Please refer carefully to my picture of how to set up this node correctly!







Thx for the plugin Rama!

You're welcome!

**[FONT=Comic Sans MS]Congrats on your first post, welcome to the forums!**


Hey thanks for this awesome plugin! It didn’t work as is in UE 4.5. I only had to make two tiny updates to get it working. If anyone’s interested in downloading it until Rama posts a newer version, you can find it at

My thoughts exactly, hence the suggestion. That way i can actually use object based BPs.

I really hope functions in structures and structure inheritance will be added in the future for BP.

Okay Thommie I will work on getting this Spawn UObject node done soon!

**New Visitors**

Make sure you see that I just released a node to get all the vertex locations of any static mesh component!!&p=161019&viewfull=1#post161019


Lots of cool stuff, and many times when I look stuff up I end up either fully or partly in a piece of text or tutorial you wrote.
This time I actually read trough this blueprint library post just to make sure I don’t start creating features that you already provide. :slight_smile:

Also I will probably use your refers on how to write editor plugins to adapt the editor more to my personal projects.

Thanks for all the information and help you provide around the forum.

Thanks for sharing this with everyone StoneJonez!


I will do an official 4.5 build once 4.5 comes out!


Great to hear from you TheSpaceMan!

You’re welcome, hee hee!





**2 New Nodes For You

Create UObject

Create Primitive Component, Added to Scene at Location!**

These two nodes let you create UObjects at runtime!

Please note you absolutely must save off the return value to a variable or UE4 will Garbage Collect your new UObject within a short time!

Please especially note that if you create a Primitive Component, I actually add it to the world for you so it is visible and has collision!

**C++ Code For You**

Here's the code!


UObject* UVictoryBPFunctionLibrary::**CreateObject**(UObject* WorldContextObject,UClass* TheObjectClass, FName Name)
	if(!TheObjectClass) return NULL;
	//using a context object to get the world!
    UWorld* const World = GEngine->GetWorldFromContextObject(WorldContextObject);
	if(!World) return NULL;
	return StaticConstructObject( TheObjectClass, World, Name);



UPrimitiveComponent* UVictoryBPFunctionLibrary::**CreatePrimitiveComponent**(
	UObject* WorldContextObject, 
	TSubclassOf<UPrimitiveComponent> CompClass, 
	FName Name,
	FVector Location, 
	FRotator Rotation
	if(!CompClass) return NULL;
	//using a context object to get the world!
    UWorld* const World = GEngine->GetWorldFromContextObject(WorldContextObject);
	if(!World) return NULL;
	UPrimitiveComponent* NewComp = ConstructObject<UPrimitiveComponent>( CompClass, World, Name);
	if(!NewComp) return NULL;
	return NewComp;




Rama if could create a node that allows procedural spawning of actors into sub-levels it would be much appreciated! :slight_smile:

Right now it is hard to (procedurally) take advantage of streaming in a BP only project because all the nodes that spawn do so only in the persistent level and not the stream-able sub-levels.

For instance, I spawn 2 extra maps in the persistent level to simulate my world wrap, and that means up to 200,000 additional meshes in the world that I would prefer to stream in when you are actually looking at them.

Thanks for any help you can provide! :slight_smile:


New BP Node For You Zeustiak! (And Everyone Else!)

This node will spawn an actor from a class into a sublevel of your choosing!

**Download Link**

Ease of Use

You can simply enter the name of the sublevel!


I've created a node that returns an array of the names of all levels that are currently loaded and visible!

In this way you can figure out what exact name to use with my SpawnActorInLevel node!

File Size Reduction

I reduced the file size of my plugin dramatically by removing the debug files. Plugin will still package great!

And now the plugin is < 500kb in size.

So the most recent upload is actually a valid file!




Awesome! :slight_smile: As soon as I wrap up a few systems I am working on I will re-acquaint myself with the World Browser!

thanks for all these great nodes Rama :slight_smile:

im having trouble creating my own plugin from the available tutorials, seems im missing something possibly so i have been adding to yours.
since you update so often it is not ideal as everything i do is lost in the update, so,
is there any way i could see a simplified version of a plugin like yours, maybe with just 1 node or something so i can compare to my failed attempts and see what i did wrong or missed.

thanks, amazing work btw

just seen StoneJonez version, i wonder if it has something to do with me using 4.5 for my own plugin tests