, I donāt use any of your plugins, but I enjoy that you make the world a little bit better with your positive attitude in every post. Without any hate and quarrels. Thank you for that and keep bringing to the people!
@pladux Hee hee, thank you for the Lovely Message!
Positive Attitude + to the people =
Victory!
PS: I am doing a new UE5 plugin version right now!
New Victory Plugin 5 Update!
Dear Awesome
UE Community,
Iāve added the requested nodes!
Please do let me know if you have other requests!
Part of the reason I am doing this sort of interview process is also to trim the plugin, getting rid of nodes ppl were not using so as to make the plugin a more streamlined complimentary Gift to You All.
PS: The Joyful Colors
version of UE5 UI doesnāt come with the plugin, but I could upload my UI Color file if you like!
Download Link Here:
Get Text From Any
Running .EXE on Your Computer!
URamaVictoryPluginCreateProcessPipe Object is Born!
Below is a picture of me capturing the output of a .exe on my computer, a video compression tool, HandBrake!
The output of STDOUT of the .exe is coming directly into UE4, using only Blueprints!
Iāve made a new version of the Victory Plugin ( 4.27 (win32, win64 only) in original post ) !
This new version allows you to create a Very Special
URamaVictoryPluginCreateProcessPipe to capture your Process output, if the Process is outputting to STDOUT (console window) or STDERR
-
Construct the RamaVictoryPluginCreateProcessPipe object
-
Pass it into VictoryCreateProc
-
Call ReadFromPipe on the object periodically to get updates from your process
-
When done, please call ClosePipe on the object, and null the reference to the object (I call ClosePipe inside of object BeginDestroy, but might as well
take initiative
yourself and close the actual OS pipe yourself immediately, rather than waiting for Garbage Collection)
Relevant UE4 C++ Code
.h
/**
Made With Love By for Use with @VictoryCreateProc
So that you can receive feedback from your processes.
ā„
*/
UCLASS(Blueprintable,BlueprintType)
class URamaVictoryPluginCreateProcessPipe : public UObject
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, Category = "Joy Flow")
bool CreatePipe();
UFUNCTION(BlueprintCallable, Category = "Joy Flow")
void ClosePipe();
/**
This has exec pins because it is an expensive action and the output is saved/cached on the output pin, whereas a Pure node would repeat the action many times, each time node is accessed.
@Return false if the pipes were not created yet
ā„
*/
UFUNCTION(BlueprintCallable, Category = "Joy Flow")
bool ReadFromPipe(FString& PipeContents);
UFUNCTION(BlueprintPure, Category = "Joy Flow")
bool PipeIsValid();
public:
void* ReadPipe = nullptr;
void* WritePipe = nullptr;
virtual void BeginDestroy() override;
};
.cpp
bool URamaVictoryPluginCreateProcessPipe::CreatePipe()
{
if(PipeIsValid())
{
//Ignore repeat creates without a close inbetween <3
return true;
}
return FPlatformProcess::CreatePipe( ReadPipe, WritePipe );
}
void URamaVictoryPluginCreateProcessPipe::ClosePipe()
{
if(PipeIsValid())
{
FPlatformProcess::ClosePipe(ReadPipe, WritePipe);
ReadPipe = nullptr;
WritePipe = nullptr;
}
}
bool URamaVictoryPluginCreateProcessPipe::ReadFromPipe(FString& PipeContents)
{
PipeContents = "";
if(!PipeIsValid())
{
return false;
}
PipeContents = FPlatformProcess::ReadPipe(ReadPipe);
return true;
}
bool URamaVictoryPluginCreateProcessPipe::PipeIsValid()
{
return ReadPipe != nullptr && WritePipe != nullptr;
}
void URamaVictoryPluginCreateProcessPipe::BeginDestroy()
{
Super::BeginDestroy();
//~~~~~~~~~~~~~~~~~~~~
//Close pipe if it was still open! ā„
ClosePipe();
}
Hi !! Can you help me with the UMG Color wheel for UE5? It is not visible in UMG. Is the color wheel not working or available or how to install it properly?
's UE5 Color Picker For You
Dear UE Community,
Iāve integrated my implementation of the UE Editor Color Picker into the UE5 version of Victory Plugin!
This Color Picker, The UE Color Picker Itself, Will Indeed Work In Packaged Games
Many Thanks To Nick Darnell
, for it was he who exposed the UE Color Picker Slate class (Runtime/AppFramework) so we could use it in
packaged games!
My role was to create the UMG Class wrapper of the Slate Code so that the Color Picker can be accessed from the UMG Designer
, as you can see in the video below!
@M1te Your UMG Color Picker Gift is Ready at the Download link in original post, enjoy!
UE5 C++ Code
.h
/*
By for You
You are welcome to use this code anywhere as long as you include this notice.
*/
#pragma once
//UE5 Color Picker
// Requires module in build.cs
// APPFRAMEWORK
#include "Runtime/AppFramework/Public/Widgets/Colors/SColorPicker.h"
class SJoyColorPicker
: public SColorPicker
{
typedef SColorPicker Super;
public: //! <~~~~~
FORCEINLINE void SetColorRGB(const FLinearColor& NewColor)
{
//This is protected in SColorPicker
// so can't call it from UMG component
SetNewTargetColorRGB( NewColor, true ); //Force Update
}
//Animation
public:
FLinearColor InstantColor;
bool Animation_SkipToFinalForOneTick = false;
virtual void Tick( const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime ) override
{
//Skip to final, then resume normal animation behavior
if(Animation_SkipToFinalForOneTick)
{
Animation_SkipToFinalForOneTick = false;
Super::Tick(AllottedGeometry, InCurrentTime, 10000); //<~~~ because all the required vars like CurrentTime are private :)
SetColorRGB(InstantColor);
return;
//~~~~
}
//Animate normally!
Super::Tick(AllottedGeometry, InCurrentTime, InDeltaTime);
}
};
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "Styling/SlateColor.h"
#include "Styling/SlateTypes.h"
#include "Widgets/SWidget.h"
#include "Components/Widget.h"
#include "RamaColorPicker.generated.h"
class SJoyColorPicker;
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnJoyColorChangedEvent, const FLinearColor&, NewColor);
/**
* Color Picker For You! ā„
*/
UCLASS()
class VICTORYBPLIBRARY_API URamaColorPicker : public UWidget
{
GENERATED_UCLASS_BODY()
public:
/** The currently Chosen Color for this Color Picker! ā„ */
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category=" Color Picker",meta=(Keywords="getcolor"))
FLinearColor JoyColor = FLinearColor::Red;
/** Called whenever the color is changed programmatically or interactively by the user */
UPROPERTY(BlueprintAssignable, Category=" Color Picker", meta=(DisplayName="OnColorChanged ( Color Picker)"))
FOnJoyColorChangedEvent OnColorChanged;
/**
* Directly sets the current color, for saving user preferences of chosen color, or loading existing color of an in-game clicked actor!
* @param InColor The color to assign to the widget
*/
UFUNCTION(BlueprintCallable, Category = " Color Picker",meta=(Keywords="setcolor"))
void SetJoyColor(FLinearColor NewColor, bool SkipAnimation=false);
public:
void ColorUpdated(FLinearColor NewValue);
#if WITH_EDITOR
public:
// UWidget interface
//virtual const FSlateBrush* GetEditorIcon() override;
virtual const FText GetPaletteCategory() override;
// End UWidget interface
// UObject interface
virtual void PostEditChangeProperty(struct FPropertyChangedEvent& PropertyChangedEvent) override;
// End of UObject interface
#endif
public:
//~ Begin UWidget Interface
virtual void SynchronizeProperties() override;
//~ End UWidget Interface
protected:
//~ Begin UWidget Interface
virtual TSharedRef<SWidget> RebuildWidget() override;
// End of UWidget
// UVisual interface
virtual void ReleaseSlateResources(bool bReleaseChildren) override;
// End of UVisual interface
protected:
TSharedPtr<SJoyColorPicker> MySlateColorPicker;
};
#include "RamaColorPicker.h"
#include "UObject/ConstructorHelpers.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
#include "SJoyColorPicker.h"
#define LOCTEXT_NAMESPACE "UMG"
URamaColorPicker::URamaColorPicker(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
, JoyColor(FLinearColor::Red)
{}
#if WITH_EDITOR
/*
const FSlateBrush* UJoyColorWheel::GetEditorIcon()
{
return FUMGStyle::Get().GetBrush("Widget.Image");
}
*/
const FText URamaColorPicker::GetPaletteCategory()
{
return LOCTEXT("Victory Plugin", "Victory Plugin");
}
void URamaColorPicker::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
{
Super::PostEditChangeProperty(PropertyChangedEvent);
FName PropertyName = (PropertyChangedEvent.Property != NULL) ? PropertyChangedEvent.Property->GetFName() : NAME_None;
//Update Picker to JoyColor property change!
if (PropertyName == TEXT("JoyColor"))
{
SetJoyColor(JoyColor,true);
}
}
#endif
void URamaColorPicker::SetJoyColor(FLinearColor NewColor, bool SkipAnimation)
{
if(!MySlateColorPicker.IsValid())
{
return;
}
//Skip Anim?
if(SkipAnimation)
{
MySlateColorPicker->InstantColor = NewColor;
MySlateColorPicker->Animation_SkipToFinalForOneTick = true; //See SJoyColorPicker.h
}
else
{
//Set!
MySlateColorPicker->SetColorRGB(NewColor);
}
}
void URamaColorPicker::ColorUpdated(FLinearColor NewValue)
{
JoyColor = NewValue;
if(OnColorChanged.IsBound())
{
OnColorChanged.Broadcast(JoyColor);
}
}
TSharedRef<SWidget> URamaColorPicker::RebuildWidget()
{
MySlateColorPicker = SNew( SJoyColorPicker )
.TargetColorAttribute( JoyColor )
.OnColorCommitted( FOnLinearColorValueChanged::CreateUObject( this, &URamaColorPicker::ColorUpdated) );
return MySlateColorPicker.ToSharedRef();
}
//Release
void URamaColorPicker::ReleaseSlateResources(bool bReleaseChildren)
{
Super::ReleaseSlateResources(bReleaseChildren);
if(MySlateColorPicker.IsValid())
{
MySlateColorPicker.Reset();
}
}
void URamaColorPicker::SynchronizeProperties()
{
Super::SynchronizeProperties();
SetJoyColor(JoyColor,true);
}
/////////////////////////////////////////////////////
#undef LOCTEXT_NAMESPACE
OMG !!! Have no words in the world to thank you!!!
Hee heee!
Love and Joy to You tooo!
Have fun!
I have used this very color picker in my own packaged games
, so I know it works!
Enjoy!
Hi⦠sorry for the offtopic, but I am curious. When seeing your theme color which tries its best to make my eyes bleed, I am just wondering if you suffer from some significant vision impairment, requiring you to configure your editor color theme this way, or if itās just some sort of ā ā ā infused preference?
I am not trying to be a jerk. I am just genuinely curious why would anyone voluntarily undergo this degree of visual suffering.
(EDIT: Why the hell does this forum censor L S D? )
Lovely to hear from you again @Rawalanche !
I believe the experience you are currently having with my color theme is similar to what happens if you are in a cave for a long time with very little light, and then, after 15 years, if you just rush out into the Blazing Light of Day, it can be too much,
and the instinctive response perhaps is to think that the Light is Too Bright, rather than thinking that maybe your eyes have become too accustomed to dim places.
I believe this automatic response comes from the fact that when dealing with the realm of Perceptions, we tend to assume our perceptions are the correct and only way of perceiving, simply because they are the only set of perceptions we are experiencing, and therefore it is easy to assume that our perceptions are the only ones that even exist.
If you embrace the concept that perhaps there are Other Perceptions, and sets of perceptions that you are not currently having, that are also valid and good, and perhaps even wildly different
than your own, then you enter the realm of True Comprehension of just how vast and varied everyoneās experience of Life really is!
It is only when we encounter someone elseās choices that vary greatly
from our own that we realize⦠they must be perceiving life very differently than us!
Then of course the question becomes, how do you systematically alter your perceptions toward the set of perceptions that are only the ones that you prefer?
Once you adapt to the
Frequency Range of my Color Theme
I do think you will realize that what you are currently experiencing will transition into āWow, Instant Joy and Happiness every time I look at this color theme!ā
Yes modern culture required many curious adjustments on our part in order to fit in, and modern culture just has not done a great job with Color in my opinion, notable exceptions are tye-dye shirts and Nature Herself.
I consider it to be my responsibility to help you Pre-Adapt to the Blazingly Intense Colors
that are the guaranteed Future experience of all of us,
for so very many reasons
not the smallest of which is the fact that
Bright Pure Colors
really are Foundational Elements of Life Itself, and have great power to heal your body.
~
I am not contradicting my statement of supporting and encouraging variety of perceptions among all people, I am indicating that:
We will be having a
Perception Convergence
in the Near Future, that is already Ongoingā¦
Due to the changing physical nature of our Solar System!
The need for this convergence is already evident in your post and my reply, for communication among people, and mutual understanding (even if mutual respect is already there, true understanding
would be even better) really should be easier than it currently is!
I think our exchange already makes it obvious that a Perception Convergence among people would facilitate not just mutual respect and appreciation, but also true resonance, harmony, and the ability for us both to use the same (or similar) color theme in our UE editors!
~
To put it simply, Friendship will be greatly facilitated
by a global / solar-system-wide Perception Convergence.
Agreeing to disagree is one thing.
Finding it Easy to Agree as Friends
who can
easily
understand each otherās perspective would be
Waaaaay Better!
~
Fun Experiment
So I ask you (and anyone who reads this is welcome to try it too), is there any 1 or several colors that you do actually still enjoy, even when they are very bright?
Take a paint program maybe, and let me know what your absolute favorite very-bright colors are.
Color-Based Healing and Empowerment is Real
Ask any Flower!
Man, I really wish I could be the kind of person who experiences instant joy and happiness every time I look at that theme. Right now I experience a need to reach for a screwdriver I can shove right onto my eyeballs
Anyway, I am just having a hard time reconciliating my confusion about someone who on the one hand supports the Unreal Engine community with so many great resources and pieces of code, but on the other hand has such⦠āuniqueā taste
I mean, seeing how you approach the visual aspect of the Engine, Iād totally expect your C++ code to be totally unreadable to me, yet itās actually quite fine. So itās just this contradiction that I find so fascinating
You said the magic word @Rawalanche ! āContradiction!ā
Any time we are faced with an āapparentā contradiction (it looks smells and tastes like a contradiction, but maybe isnāt), that is a moment to dive into and research deeply.
The feeling of ācontradictionā : āWait⦠how can these two things coexist side by side in a person/situation/experience I am having?ā
Is an almost-guranteed indicator that you are experiencing an Unusual Frequency Range (UFR) and if you explore the feeling of contradiction, and the elements that seem to contradict each other, in depth,
You will almost always find there is actually Another Realm, Another Dimension,
Another Angle of Analysis
where the seemingly contradictory elements are actually Perfectly In Harmony with each other, but the Connective Tissue of these elements was previously not within your āacclimatedā perception range.
I am indicating that you and everyone are more than capable of basically anything
,
it is just that we get into a Perception Range Groove (PRG) based on what life has expected of us so far,
and you can easily exit that groove and see New Angles on Life,
if you learn to enjoy apparant contradictions / that feeling, and discover where the Connective Tissue does actually exist.
~
Facilitating Perception Range Expansion

If you obtain Essential Oil of Lavender, you will find that Lavender activate the Human Pineal Gland, and will improve both Your Unreal Engine Development Cycle
(faster programming, faster comprehension of bugs in the code, and the overall game experience) as well as making it easy for you to expand your perception range and handle frequencies and experiences that previously might have overloaded your system.
Yes, it is true, Flowers help me Code in UE C++.
~
The Awesome Power Of Unreal Engine
The Awesome Thing about Unreal Engine,
that I always appreciate every day,
is that the Ceiling of Potential of what I can create is basically non-existent,
ā If I can imagine it, I can create it, in Unreal Engine!
ā
Well Essential Oil of Lavender
helps to restore your obviously Enormous Imagination,
by stimulating your Pineal Gland
You could mix a few drops of Essential Oil of Lavender in water, and drink it daily,
and then you will see your Unreal Engine Development Cycle become more and more fun, with faster results, cleaner code, and very happy players.
PS: Now you know the Truth, My Victory Plugin is Flower-Powered UE C++ Code!
SwitchByte (uint8 faster) SwitchWildcard please!
Hello.
Iām trying to use functions Get pixels. Function āGet Pixel from T2Dā doesnāt work at all, it always returns 0 by color and false as return value. Function āGet Pixels Array from T2Dā crashes the editor.
Can anyone help understand how to use it.
Welcome to the Unreal Engine Forums @darkflash007 !!!
I have to say, that is one Sexy name you have!
Dark flash⦠trying to envision in our physical universe, what a Dark Flash would even look likeā¦
Wow!
~
What engine version are you using?
I have to test with the same engine version to be sure my solution will work for you!
Dear @Dreika
Can you please explain more what you mean?
What should the node do?
The more detailed you are, with mock up pictures and such, the better I can help
I prefer more words and media to less, to know exactly what you are trying to Achieve!
Greetins @ ! I hope youāre doing well
Is the victory plugin able to work with UE 5.1.0 (from Epicās ue5-main branch?) Or is it still just UE5 EA right now?
Ya know I probably should have guessed that given the name of thread ā¦
Hee hee!
Sorry Iāve been bouncing back and forth between my two Victory Plugin threads and forgot!
Can you send me a picture of the Texture2D Asset you are trying to get pixels from, particularly the compression?
You have to use a specific format, which does not compress the pixel data, otherwise it will never be the direct mapping you are expecting from your image editor, when viewing the pixel-level.
Any form of compression removes the 1:1 relationship / Lossless transition into UE you are probably hoping to achieve.
The comment on the node indicate this:
/** This will modify the original T2D to remove sRGB and change compression to VectorDisplacementMap to ensure accurate pixel reading. -*/
This in particular ā VectorDisplacementMap
Picture:
Confirm?
Can you confirm you are using this format please?
Thanks!
Ya know for a second there I thought you were dialing in from a planet or dimension where UE5 has already been releasedā¦
If that IS the case, please take a picture so we can see what Life is like over where you are! ⦠Please? I mean I give you all this free stuff, and all I want is a
picture
of what Life is like for youā¦
If however, you actually meant the git repo of UE5, no I do not yet have a git repo version, because a git repo is likely to change constantly and wonāt work anyway.
But I assume if you are using the git repo, surely you must already know that it changes constantly, or⦠* everyone gasps who already comprehends where I am headed⦠or I didnāt read some Epic newsletter I was supposed to have read* Did Epic already lock down the git of UE5?
So thereās only two cases + a mysteriously possibly Magical 3rd:
- You really Are dialing in from another planet where UE5 5.1.0 Release is being used by a nearly-infinite number of Hyper-Intelligent Beautiful Goddesses making
The Most Colorful Videos Games That Have Ever Existed.
or
UE5 is about to be Released
* Everyone starts clapping *
or
- Something Even Grander, but my electron field is struggling to grasp the Beauty of that that could possibly beā¦
PS: I make it a habit to consider every case that could Ever Be, when I am programming in UE C++, so I can maximize the stability of my code in advance, and properly handle the whole variety of user inputs that could Ever Occur.
And I canāt think of ANY other cases given the inputs you have provided to me.
So that means
SOMETHING AWESOME IS ABOUT TO HAPPEN
Because I Love all 3 cases I have presented to you!
Maybe @PresumptivePanda knows what this is all aboutā¦