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

New Node: Get Attached Actors!

** is a new node as of 12/28/14!**

node gets actors that are attached to the input Parent Actor!

node was originally inspired by !

Here’s the final C++ code I created for node:



void UVictoryBPFunctionLibrary::Actor__GetAttachedActors(AActor* ParentActor,TArray<AActor*>& ActorsArray)
{
	if(!ParentActor) return;
	//~~~~~~~~~~~~
	
	ActorsArray.Empty(); 
	ParentActor->GetAttachedActors(ActorsArray);
}


Holiday Special

See the upper 3 posts for my Victory BP Library Holiday Special!

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 for  node!



```


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());
}
 


```



♥

Victory BP Library Holiday Special!

Several community members contributed to my Victory BP Library Holiday Special!

's BP Library Holiday Special

Enjoy!

'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!

♥



![9b7a621d3332fdafbe78b687447eb1c37f3f558c.jpeg|1035x750](upload://mbqdc9TTsCkJHaeTMyxg2GR6Hak.jpeg)

**Set Volume of Any Sound Class

Any From Anywhere!**

is a node that Hourences requested I make!

You can use node to set the volume of any sound class, any, from anywhere!

I am aware of the option of using a sound mixer, however it is not as dynamic because you have to use fixed sound increments.

**My node allows you to offer people an audio slider that is a continuous float value range based only on the slider increments.
**
Enjoy!

Wiki Download Page

, is does your plugin package in the latest 4.7 Preview without C++/Source?

Someone else will have to let us know about that, I am too busy coding AI to try out the 4.7 preview, on a tight schedule :slight_smile: but if anyone finds out if it works let me know!

2D Interpolation Functions for UMG and 2D Game Animations

**Using these nodes in my plugin you can now easily make your own translation animations for 2D games and UMG!
**
I realized the need for these animations while trying to manually animate UMG widgets in BP.

I am in process of submitting as a pull request for the main engine.

UE4 Wiki, Plugin Download Page

Enjoy!

60+ Extra BP Nodes For You!

No c++ required!

No compile required!

Download and plug in!

Latest plugin download is here:

:slight_smile:

Thanks ! They just released Preview 2 of 4.7 so i’m going to give it a try. Kind of have to since i’m on a deadline too. Really appreciate the work you’ve for us!

Let me know how it goes!

Soon as 4.7 release comes out I will be updating!

:slight_smile:

Accepted by Epic

These two nodes will be in a near future engine release!

Epic accepted my C++ pull request here (need active github account to view ):
/EpicGames/UnrealEngine/commit/c0f63f5a09613320fa1056e174dfa7f2c3b39098

**Using these nodes in my plugin you can now easily make your own translation animations for 2D games and UMG!
**
I realized the need for these animations while trying to manually animate UMG widgets in BP.

UE4 Wiki, Plugin Download Page

Enjoy!

’ Suite of Custom Config Section BP Nodes!

Using my new suite of BP nodes, you can create as many of your own custom config file sections as you want!

You can both create and retrieve ini variables with any name and fundamental type that you want!


**Supported Types:**

Bool
Int
Float
Rotator
Vector
Color
String

Why Use a Config Var?

Config vars have several benefits

  1. Persistent data storage without using a SaveGame struct or GameInstance, store simple quantities of data and player customization way! Data is stored between level loads and even after the current instance of the game is shut down.

So in way config vars have greater persistence than the GameInstance class!

  1. Player-Driven Customization, Players of your game can tweak the config vars that you make available for them on their hard disk, by editing the .ini file directly, just like AAA games! is the most significant advantage of using config files, and their real core purpose. :slight_smile:

  2. Simplicity, simpler to use than the BP SaveSystem (which is quite wonderful by the way), but not quite as powerful in that you can only store basic data types, not UObjects and Actors.

  3. **Organization, **you can create as many config header sections as you want using my nodes, organizing your custom settings way!


**Game.ini**

 of your custom created config vars and sections are stored in:

**Saved/Config/Windows/Game.ini**

Players can navigate to  location on their harddrive to edit your ini files just like any AAA game would allow!

Here's what my **Game.ini** file looks like after running some tests!



```


[DebugWindows]
ConsoleWidth=160
ConsoleHeight=4000
ConsoleX=-32000
ConsoleY=-32000

[/Script/UnrealEd.ProjectPackagingSettings]
BuildConfiguration=PPBC_Development
StagingDirectory=(Path="E:/MYPROJECT_DELETE")
FullRebuild=True
ForDistribution=False
UsePakFile=True
UseOBB_InAPK=False
CulturesToStage=en

[Victory]
BoolVar=True
VectorVar=X=1.000 Y=2.000 Z=9000.123
StrVar=Yay For Custom Config Vars!!!
FloatVar=234.000000


```



**Now you have fully featured ability to use config variables entirely in BP!**



PS: Here's example usage!

![Usage.jpg|1280x960](upload://vJ8VyiQCZXj6G59JXlBNDrMdZow.jpeg)

Hi ,
i love your plugin library. It is possible to make a “get light brightness” node to detect the light levels on pawn or other actor? I found here the code.

Hey there Ulrich,

I made one quick example for you in Blueprints (I converted the code you provided). So till makes one you can play around with . :slight_smile:

Download Project

Hope you enjoy :slight_smile:

Many thanks ryanjon!!! :o

Yes thanks for doing that!

Great to hear from you Ulrich!

If I get I will try to implement your request!

Thanks for your own community contributions Ulrich!

Get OS Platform

Platforms you can check for:

**Windows
Mac
Linux

PS4
XBoxOne

iOS
Android

HTML5

WIN RT
WIN RT ARM**

Enjoy!

New BP Node!

BloomPostProcess.jpg

node sets the bloom intensity of any PP volume!

node was contributed by community member !

UE4 Wiki, Plugin Download Page

Enjoy!