The UE5 Version Lives!!! I’ve added this Color Wheel to My Victory Plugin for UE5!
UE5 Video
UE4 Video
**4.13 Upgrade!**
https://forums.unrealengine.com/showthread.php?68498-New-UMG-Widget-Color-Picker-UMG-Widget-The-Same-Color-Picker-You-Know-and-Love!&p=592626&viewfull=1#post592626
Major Version Updates!
Here are internal links to this thread where I’ve posted major version updates to the plugin! Pics and full descriptions!
Update 6
(4/18/16)
Color Picker is on 4.11 now!
Enjoy!
Update 5
(9/18/15)
I now support packaged builds for
Development Win64
Shipping Win32
And I have also upgraded the project to 4.9 !
Enjoy!
Update 4
(8/5/15)
Uploaded new version that works in BP-Only packaged games!
When you go to the wiki make sure you see an upload for 8/5/15 or your browser has not refreshed the page properly.
Wiki Link
https://wiki.unrealengine.com/File:VictoryUMG.zip
Enjoy!
**Update 3**
(6/10/15)
Upgraded to 4.8!
https://forums.unrealengine.com/showthread.php?68498-New-UMG-Widget-Color-Picker-UMG-Widget-The-Same-Color-Picker-You-Know-and-Love!&p=308373&viewfull=1#post308373
Update 2
(5/29/15)
I fixed a packaging compile error!
**Update 1**
(5/3/15)
*Two New Options*
1. Don't Animate on Construction
2. Set Color Instantly ~ Don't animate, just jump instantly to final color!
**Pics & Version Update Notes**
https://forums.unrealengine.com/showthread.php?68498-New-UMG-Widget-Color-Picker-UMG-Widget-The-Same-Color-Picker-You-Know-and-Love!&p=283917&viewfull=1#post283917
Plugin Download Link (152 KB)
**Full plugin source code included!
**
UE4 Wiki File
https://wiki.unrealengine.com/File:VictoryUMG.zip
**Introduction**
I've made a new plugin gift for you all!
**This is my UMG integration of the UE4 Color picker you know and love!**
Please note clearly I did not write the code for this color picker, it is the very same color picker you use all day in UE4!
Many thanks to Epic for this wonderful and fully featured color picker!
**Please also see my legal notice below to understand the terms of use of this plugin.**
My role in this gift offering to you is that I:
1. Exposed the UE4 Slate Color Picker to UMG
2. Added an OnColorChangedEvent so you can respond to user input to the Color Picker
3. Enabled you to set a default value for the color picker at any time, using UMG Designer!
BP Functions & Features
GetColor ~ You can find out from BP code or C++ what the current color is at any time
SetColor ~ You can set the current color of the Color Picker at runtime!
Bindable Event ~ You can bind my OnColorChanged BP event to perform BP or C++ updates whenever the user changes the current color!
Set Default Color ~ You can set the default color to be anything you want, just by editing the color in the Designer properties panel
**
C++ Code Explanation ~ Getting the Color Wheel User Input Events to UMG BP
*Delegates***
To set up the User Input Events / Delegates from the Slate Color Picker all the way to UMG Blueprints, here's what I did:
**1.** Rebuild Widget ~ When widget is constructed I set the delegates to functions in my Color Picker UMG widget class:
```
TSharedRef<SWidget> UJoyColorWheel::RebuildWidget()
{
FColorPickerArgs Args;
//Initial Color
Args.InitialColorOverride = JoyColor;
Args.bUseAlpha = true;
Args.bOnlyRefreshOnOk = false;
Args.bOnlyRefreshOnMouseUp = false;
//Delegates set here! These delegates are to functions within this UMG widget class
Args.OnColorCommitted = FOnLinearColorValueChanged::CreateUObject(this, &**UJoyColorWheel::ColorUpdated**);
Args.OnColorPickerCancelled = FOnColorPickerCancelled::CreateUObject(this, &**UJoyColorWheel::ColorPickCancelled**);
//....
}
```
**2.** When the internal delegate is called, I broadcast the BPAssignable:
```
void UJoyColorWheel::ColorUpdated(FLinearColor NewValue)
{
//the public BP variable that you see me editing in the video in UMG Designer
JoyColor = NewValue;
if(OnColorChanged.IsBound())
{
//BP Assignable!
OnColorChanged.Broadcast(JoyColor);
}
}
void UJoyColorWheel::ColorPickCancelled(FLinearColor NewValue)
{
//Color Picking Cancelled!
}
```
**3.** This is the declaration for the BP assignable, which is what you see in the video!
```
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnJoyColorChangedEvent, const FLinearColor&, NewColor);
UCLASS()
class VICTORYUMG_API UJoyColorWheel : public UWidget
{
GENERATED_UCLASS_BODY()
//....
/** Called whenever the color is changed! Yay! */
UPROPERTY(BlueprintAssignable, Category="Widget Event", meta=(DisplayName="OnColorChanged (Joy Color Wheel)"))
FOnJoyColorChangedEvent OnColorChanged;
```
Allowed / Encouraged by Epic to Use?
I’ve now heard from Epic that the Color Picker (SColorPicker) was intentionally put in Runtime/AppFramework so that it was available to be re-used by us.
You have Nick Darnell to thank for making UE4’s awesome color picker available to us!
Thank you Nick!
Your decision has made me very happy, because color pickers are hard to make and the UE4 Color Picker is beautiful and beyond-fully-featured!
**Legal Notice**
"UE4 Licensee" refers to anyone who has signed the [Unreal Engine 4 Terms of Service](http://epicgames.com/tos) and has also agreed to abide by the terms of the [Unreal Engine 4 EULA](https://www.unrealengine.com/eula).
**UE4 Licensees may include my plugin in their project, just please credit me somewhere appropriate as "" !**
The UE4 Color picker is situated in **Runtime/AppFramework** as SColorPicker.
SColorPicker is therefore in the part of the UE4 code base that UE4 Licensees are allowed to include in packaged games.
My plugin code only contains my additions / extensions of UMG and SColorPicker, I am not including any copies of UE4 classes or large amounts of UE4 engine code in the publically available download link.
I exposed my UJoyColorWheel UMG class to my plugin API, so that you have the option to derive from it at your project level to make your own custom UMG Color Picker.
**Any use of my plugin or classes deriving from my **UJoyColorWheel** class falls under Epic's UE4 license terms**.
The bulk of the relevant code for my plugin is in the engine classes SColorPicker and UWidget, which are Epic's intellectual property.
You may not put my plugin on the UE4 Marketplace.
**This plugin is free for everyone!**
♥
Plugin Download Link (152 KB)
**Full plugin source code included! **
Compiled in 4.7.5 !
UE4 Wiki File
https://wiki.unrealengine.com/File:VictoryUMG.zip
**Conclusion**
Have fun with my Color Picker UMG Widget!
**Now you can use the UE4 Color picker we all know and love in a packaged game!**
♥