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

Thing is, I was using Unreal 4.9.0 already.

I just downloaded your newest version, the one from today, and now I get the following error message:

Rebuilding them as the engine suggests does not work. It crashes on build/cannot be built.

Perhaps it’s important I mention I’m on Mac OSX. Are these Mac OSX compatible?

I’ve been using the BP library for a while and recently tried your engine plugin since I noticed it was updated for 4.9. Been playing around with the instanced mesh creation to test the limits and so far it is working great =D; Wish I had it installed sooner!

In the original instances I was using the node, everything was fine with the first fix.
Further usage caused crash :frowning:
Found the and fixed it, but before I get the to send it to, he’s already sorted it and contacted me!

http://i0.kym-cdn.com/photos/images/original/000/168/578/3ONqv.gif

I guess I also fixed once before for Linux dedicated server build and I completely forgot. Too much on the mind. I’m posting in case it is useful for someone else.

I’d appreciate it if someone who has Mac OS can build the plugin from source code, and post it to me by PM. I can’t help folks with Mac OS otherwise :slight_smile:


@Parvan

Thank you for sharing your Linux research / confirmation of Stormwind's fixes!

Thank you again for your contributions !

:slight_smile:



[QUOTE=Aesais;372221]
I've been using the BP library for a while and recently tried your engine plugin since I noticed it was updated for 4.9. Been playing around with the instanced mesh creation to test the limits and so far it is working great =D; Wish I had it installed sooner!
[/QUOTE]


Very nice to hear from you Aesais!

**Welcome to the UE4 Forums!**

:)

Get a Hard-drive accurate listing of Save Game Objects!

Dear Community,

I’ve released a new node that gives you a hard-drive accurate listing of save game files that you’ve created!

I am referring to UE4’s Save system!

You can now access a full listing in a developer build or in a packaged game, to know the save files that have been saved!

These save files are stored in GameDir/Saved/SaveGames


**Use Case: UMG Menu of  Save Games**

The best use case of  new BP node is to enable you to supply the end-user with a hard-drive accurate listing of  save game files currently residing in your game's saved/savegame directory!

Now you can enable users to "see" the contents of the device's harddrive through UMG!

UE4 Blueprint Save System?

If you did not know, you can use UE4’s save system like :

  1. Create a new blueprint based on SaveGame
  2. Add your variables to the blueprint that you want to save the values of
  3. in level BP or some other blueprint, create a save game , and set the values of that
  4. Save to a Save Game Slot, as shown in my pictures
  5. You can load a save game from a Slot name at any!

6.** Now with my new Victory BP Library, you can obtain a full listing of existing save games as stored on your computer’s hard disk! **

let’s you know whether a file exists before you try to load it! You can also find out how many save files exist from within BP!


**Latest plugin download on the UE4 Wiki: (15.22 mb) **
https://wiki.unrealengine.com/File:VictoryPlugin.zip

Victory Plugin on Media Fire

If your browser is not updating the Wiki download page to the most recent version, you can use my alternative Media Fire download link!

Please note clicking link will not start a download instantly, it will just take you to the Media Fire file description.


**Note on Packaging Victory Plugin**

https://forums.unrealengine.com/showthread.php?3851-(39)--s-Extra-Blueprint-Nodes-for-You-as-a-Plugin-No-C-Required!&p=368790&viewfull=1#post368790

Enjoy!

:)

Dear Community,

4.9 Update:

As of 4.9 I removed the velocity correction code because changes to the engine made correction unnecessary.

You still have option for older plugin versions prior to 4.9.0 :slight_smile:


I've finally cracked the code of drawing accurate animated vertex positions for character meshes!

My node features a "velocity correction" system which causes the animated vertex positions to line up with your moving, animating character!

Now you can get the positions of the vertices of your character' mesh, as these vertices animate!

You can run  node in tick of your character, or in my case I use the level BP because my Victory BP Library nodes can be used anywhere!

![AnimatedVertexLocations2.jpg|1280x960](upload://7R9xFuIwIbZiD46nmLHl54K8r57.jpeg)

My C++ Code For You

Here’s the C++ magic that I used to get the character’s animated vertex positions to line up even while moving, jumping, and falling!

Please note node can also be used with non-pawns / non-characters, any SkeletalMeshComponent will work!



bool UVictoryBPFunctionLibrary::AnimatedVertex__GetAnimatedVertexLocations(
	USkeletalMeshComponent* Mesh, 
	TArray<FVector>& Locations,
	bool PerformPawnVelocityCorrection
){
	if(!Mesh || !Mesh->SkeletalMesh)  
	{
		return false;
	}

	//~~~~~~~~~~~~~
	Locations.Empty(); 
	//~~~~~~~~~~~~~
	 
	Mesh->ComputeSkinnedPositions(Locations);
	
	FTransform ToWorld = Mesh->GetComponentTransform();
	FVector WorldLocation = ToWorld.GetLocation();
	
	**//Pawn Velocity Correction**
	UPawnMovementComponent* MovementComp = nullptr;
	if(PerformPawnVelocityCorrection)
	{
		APawn* Pawn = Cast<APawn>(Mesh->GetOwner());
		MovementComp = (Pawn) ? Pawn->GetMovementComponent() : NULL;
	}
	bool DoVelocityCorrection = PerformPawnVelocityCorrection && MovementComp;
	**//Pawn Velocity Correction**
	 
	for(FVector& Each : Locations)
	{
		Each = WorldLocation + ToWorld.TransformVector(Each);
		if(DoVelocityCorrection)
		{
			**Each += MovementComp->Velocity * FApp::GetDeltaTime();**
		} 
	} 
	
	return true;
}



**Latest plugin download on the UE4 Wiki: (15.22 mb) **
https://wiki.unrealengine.com/File:VictoryPlugin.zip

Victory Plugin on Media Fire

If your browser is not updating the Wiki download page to the most recent version, you can use my alternative Media Fire download link!

Please note clicking link will not start a download instantly, it will just take you to the Media Fire file description.


**Note on Packaging Victory Plugin**

https://forums.unrealengine.com/showthread.php?3851-(39)--s-Extra-Blueprint-Nodes-for-You-as-a-Plugin-No-C-Required!&p=368790&viewfull=1#post368790

Enjoy!

:)

Could you tell me how I can do that, please? Thanks, - looks very neat from what I can see!

EDIT:
As in, I’m having trouble compiling even a clean project, so I’m not sure I know what I’m doing. ^^’

If anyone knows how to build a plugin for UE4 from source code using Xcode, any help would be appreciated. The documentation is… lacking. It just says “build it. It will work”. It doesn’t work.

It would be great if someone using Mac OS could assist Shrooblord with :slight_smile:

Dear Community,

I’ve updated my Get Float As String With Precision node to

  1. Be pure (no exec chain)

  2. Utilize Epic’s FText C++ code to leverage of their hard work on float decimal precision.

  3. Add bool to make the leading 0 optional, so 0.5 could be shown as 0.5 or .5 depending on your preferences!

Yay!


**My C++ Code For You!**

Here's how it works in C++ !



```


void UVictoryBPFunctionLibrary::StringConversion__GetFloatAsStringWithPrecision(float TheFloat, FString & FloatString, uint8 Precision, bool IncludeLeadingZero)
{ 
	FNumberFormattingOptions NumberFormat;					//Text.h
	NumberFormat.MinimumIntegralDigits = **(IncludeLeadingZero) ? 1 : 0;**
	NumberFormat.MaximumIntegralDigits = 10000;
	NumberFormat.MinimumFractionalDigits = **Precision;**
	NumberFormat.MaximumFractionalDigits = **Precision; **
	FloatString = FText::AsNumber(**TheFloat**, &NumberFormat).ToString();
}


```



**Latest plugin download on the UE4 Wiki: (15.22 mb) **


**Victory Plugin on Media Fire**

If your browser is not updating the Wiki download page to the most recent version, you can use my alternative Media Fire download link!

Please note clicking  link will not start a download instantly, it will just take you to the Media Fire file description.

https://www.mediafire.com/?g6uf9kt5ueb2upj

Note on Packaging Victory Plugin

Enjoy!

:slight_smile:

Hi

your plugin only work packing for win32 or wi64?
How can i pack my game for or Html 5?

I have tried everything you listed except for HTML5 and they work. It’s been a while since I’ve tried Win32 or Android. I can confirm Linux works with the fixes I wrote about in thread.

I create a new project in C ++ put the plugin inside of folder the Unreal 4.9 and the project also, create a simple actor with the node “Texture 2D Load From File” compile x64 works but for others give error, if I delete the node it compiles ok

Hey, found a bug with the newest version (Sep 4th download) and I have tested it in 2 different projects. If you get the Create function and cast from it, it will crash PIE with: Fatal error: [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.9\Engine\Source\Runtime\CoreUObject\Private\Templates\Casts.cpp] [Line: 11] (insert cast line here). Engine: 4.9.1

Is there a way to have a node that let’s you use an obj file just like we can do with textures from external folders? ( With a UV so I can use the “GetTextureFromPath” node to apply texture to it using dynamic material instance ).
It can be an awesome addition to my game’s MapBuilder.

Create is Deprecated, Use Construct From Class (4.9)

In 4.9 my Create Obj node is obsolete, as Epic has finally (yay!) added node:

"
In Blueprints, you can now spawn baser types (not just actors/components). The Construct From Class node takes a class and creates a new of that type, similar to Spawn Actor From Class (except for types that are not an actor).

The “Outer” input will serve as the new 's owner, which controls the lifetime of the created .
For actor classes, you’ll still use the Spawn Actor From Class node. And for widgets, you’ll use the Create Widget node. In a future release we may try to combine these different features.
"


**Deprecation Messages in BP Libraries**

I am going to add a deprecation warning to my current node.

For anyone who is curious how to do , here's the .h code for my CreateObject node with deprecation. warning



```


UFUNCTION(BlueprintCallable, Category = "VictoryBPLibrary", meta = (**DeprecatedFunction**, **DeprecationMessage**="Epic has introduced Construct  as of 4.9.0, I recommend you use that instead! -", HidePin = "WorldContextObject", DefaultToSelf = "WorldContextObject"))
	static UObject* CreateObject(UObject* WorldContextObject, UClass* TheObjectClass);


```


:)

Please dont put my plugin at the engine level, just put it at the project level :slight_smile:

I’ve had no trouble compiling for win32 using Texture2D Load From File, but I have not tested HTML5 / mac due to my own personal limitations (I am doing Victory BP Library stuff without monetary compensation of any kind).

:slight_smile:

Can you explain more what you mean? What is the exact use case / functionality you want?

:slight_smile:

Powerful Victory BP Node for Physics / Collision Analysis!

Dear Community,

I’ve just released two new nodes to help you with of your** collsion surface distance checks**!

These nodes let you easily tell how far a given point is from the actual PhysX surface of any UE4 game with collision / primitive component!

I’ve even given you a node that let’s you directly check the distance between the physical surfaces of two objects!

See pics!

These nodes work with Characters and Skeletal Mesh actors that have physics assets!


**Distance Between Surfaces Of Two Objects**

![SurfaceDistanceBetweenBP.jpg|1275x712](upload://ywRLLph4drEwZXiZR6GnrLeasFk.jpeg)

**World Point Distance To Collision Of Any **


**My C++ For You**

Here's the C++ code for my algorithm to get the distance between the colliding surfaces of any two objects!



```


float UVictoryBPFunctionLibrary::GetDistanceBetweenComponentSurfaces(UPrimitiveComponent* CollisionComponent1, UPrimitiveComponent* CollisionComponent2, FVector& PointOnSurface1, FVector& PointOnSurface2)
{
	if(!CollisionComponent1 || !CollisionComponent2) 
        {
            return -1;
        } 

        //Closest Point on 2 to 1
	CollisionComponent2->GetDistanceToCollision(CollisionComponent1->GetComponentLocation(), PointOnSurface2);
  
	//Closest Point on 1 to closest point on surface of 2
	return CollisionComponent1->GetDistanceToCollision(PointOnSurface2, PointOnSurface1);
}

_


```



**Latest plugin download on the UE4 Wiki: (15.22 mb) **


**Victory Plugin on Media Fire**

If your browser is not updating the Wiki download page to the most recent version, you can use my alternative Media Fire download link!

Please note clicking  link will not start a download instantly, it will just take you to the Media Fire file description.

https://www.mediafire.com/?g6uf9kt5ueb2upj

Note on Packaging Victory Plugin

Enjoy!

:slight_smile:

Anyone had any issues with’s Plugin since 4.9.1 came out? Having some annoying crashes that only appeared with the latest update. Not sure if it could be plugin related or something else.