Download

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

It’s actually pretty easy. In you VS game project you can create something like this:

#pragma once

#include "YourGameBlueprintLibrary.generated.h"

UCLASS()
class YOURGAME_API UYourGameBlueprintLibrary : public UBlueprintFunctionLibrary
{
	GENERATED_UCLASS_BODY()

	UFUNCTION(BlueprintCallable, meta = (FriendlyName = "Hello World!!", Keywords = "String Hello World"), Category = Game)
	static FString HelloWorld(FString String = FString("Hello!"));

};


#include "YourGame.h"
#include "YourGameBlueprintLibrary.h"

UYourGameBlueprintLibrary::UYourGameBlueprintLibrary(const class FPostConstructInitializeProperties& PCIP)
: Super(PCIP)
{

}

FString UYourGameBlueprintLibrary::HelloWorld(FString String)
{
	return String;
}

Well i feel stupid, cause i do not understand written code in i guess c++, But the answer given is pretty much what i’m looking for, now just need to do research to understand it, or write code out properly.

Oh yeah you’ll definitely need to code to create custom nodes.

Yay! Glad you are enjoying my Victory BP library!

@GiganToad

Thanks for helping to answer questions, GiganToad!

:heart:

Rama

I was wondering about the record time node, since you use a float for this, do you know when you start to lose precision?
I am thinking mainly if you have some kind of persistant server running for a couple of days, and you messure time between events that might require a player joining, etc.
Could be good to know. :slight_smile:

Bad example since you would probably messure those things differently. But there could be an issue at some point.

**Two New Nodes

Get Object Path & Load Object From Asset Path!**

Now you can use Right Click -> Copy Reference and past that into my BP node to load an object directly from asset path!

You can also pass in a UObject to retrieve its full asset path using my other node, and these two nodes work together!

I used this system in my C++ based In-game editor to load levels from hard disk!

I simply save out the asset paths and then load objects from their paths, setting any user-changed variables!

**Now you can do the same thing entirely in Blueprints!
**
Enjoy!

Rama

Latest Victory BP Library Plugin Download

50636d2c4796a81ed34c35ff97a6269fe5aaa1c0.jpeg

**New Node

Get Static Mesh Vertex Locations!**

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!


**Pictures**

![560b4f2b24fb116ffc5c2ddfd4f04754501ad6c2.jpeg|967x742](upload://chbi83K9r7yN6RpDf900WV9lpJM.jpeg)

![75e2b513ac387b6a626ff0e14fe5743f8f3e6a2b.jpeg|1280x960](upload://gORA6cRKTZxgajgGapD8D7bjC2v.jpeg)

Enjoy!

Rama

New Plugin For Community!

I’ve posted a plugin template that you should find quite easy to adapt to your needs!

It is a fully functional plugin sample, containing some nodes that I found useful for doing AI coding in Blueprints.

But the main purpose is to give you a plugin template to use however you like!

Enjoy!

Rama’s AI Plugin Template

Rama

The new get object from asset with path is working great ! And thanks for making that template this is a very good way to learn how to do it ourselves !

Thanks man this is exactly what i’v wanted to know !

Edit : I’v just noticed that while in edit and getting into the “Add code to project” window, they have there " add blueprint function library". and after clicking on it it creates :

Heaher (MyBlueprintFunctionLibrary.h) :

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "Kismet/BlueprintFunctionLibrary.h"
#include "MyBlueprintFunctionLibrary.generated.h"

/**
 * 
 */
UCLASS()
class MYPROJECT5_API UMyBlueprintFunctionLibrary : public UBlueprintFunctionLibrary
{
	GENERATED_UCLASS_BODY()

	
	
};

Source ( MyBlueprintFunctionLibrary.cpp ) :

// Fill out your copyright notice in the Description page of Project Settings.

#include "MyProject5.h"
#include "MyBlueprintFunctionLibrary.h"


UMyBlueprintFunctionLibrary::UMyBlueprintFunctionLibrary(const class FPostConstructInitializeProperties& PCIP)
	: Super(PCIP)
{

}

I didn’t check how it is working yet but i guess this is an other good example too.

Ah cool, never noticed that.

Yay! I am glad it is working for you!

For those new to this thread or this node, here’s a picture!

50636d2c4796a81ed34c35ff97a6269fe5aaa1c0.jpeg

Create New Object!

Use this node to create new objects from a class!

e9aaaa42dbaa56c4c71a4ea4258259f6fae694bc.jpeg

Great work! Thanks a lot Rama!

Hi Rama love your work!

I have a request for a node its like the Division (Whole And Remainder) Node but instead of to hole numbers could it be to the first decimal point?

Thanks Rama

You’re welcome veiovis!

Can you clarify your request, provide sample inputs and sample outputs? at least 2-3 examples would be helpful :slight_smile:

Rama

yeah sure, for example if:

The dividend was 0.7 and the divisor was 2 the Remainder would be 0.1 and the return value would be 0.3.
currently this node can only do this with whole numbers e.g. dividend 7 and divisor 2 remainder would be 1 and return value would be 3.
im sure by now your probably thinking you could just multiply the input (0.7) by 10 and then divide the return value and the remainder, but for some reason maybe a bug if you try to divide the return value in any way even after setting it as a variable the number becomes 0, this is not the case for the remainder as you can divide that after this node and it has the right value, just the return value that has this problem.

i hope i have explained it well enough, please let me know if you need any more details :slight_smile:

Absolutely incredible stuff. I want to use this plugin very badly, but I must wait until epic fixes the building with plugins issue.

Hee hee glad you like!

Content-only plugins are coming soooon! Very high on Epic’s priority list! :slight_smile:

Rama

The return value is an integer, so try converting the return value to a float before dividing by 10 :slight_smile:

It should work then!

So drag in a Float Division node and connect the return value and that should work just fine!

Let me know if that is satisfactory for your needs or if you still need a custom node :slight_smile:

:heart:

Rama