x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

UE4 lack of UI documentation

Im looking to create a user interface and im mainly a C++ programmer so i tend to steer away from bluprints, ive found 2 solutions to create a UI. Slate or UMG, Slate i wouldnt mind using ive programmed html so im used to the "going backwards and forwards" design. Only one problem, lack of "good" documentation. There are tutorials out there but there not good, slate already looks menacing to learn on its own but the fact that there are no good tutorials explaining what it all means (start to finish) is such a shame :( and from what i read people would rather use UMG, resulting in UE staff focusing there time on that rather than slate. So then i move to on UMG, this time there is good documentation on it... for blueprinters. Ive found a tutorial that Extends UMG to C++ here but there isnt much documentation past that :( which leaves me in a position with a great game on a great engine with no UI... My question/request is are there or can UE staff give more support to C++ UI because thats the only weak point in this engine and its a big enough problem to cause people to switch engine (little documentation in the UI category)

Product Version: Not Selected
Tags:
more ▼

asked Jan 22 '15 at 01:22 AM in Using UE4

avatar image

AndrewM47
277 68 61 81

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Just dig into source code and you'll get everything there, it's commented quite well. If you don't get specific detail then you can ask community and you'll always get answers. Slate API docs is good too. I've been able to build a complex GUI with resizable/movable windows and stuff after I spent about a week reading source and api docs. It's not that hard.

more ▼

answered Jan 22 '15 at 02:11 AM

avatar image

TimGS
626 20 23 239

avatar image KnightTechDev Jan 22 '15 at 04:32 AM

UMG is newest and it's basically a visual designer based approach as was included in Visual Studio or Advanced WYSIWYG HTML Editor for developing UI, but it's more of a visual UI designer, it's a modern method.

Blueprints is easy for long term veteran programmers and beginners, it's a visual scripting interface and if you understand the fundamentals of most programming languages then you'll quickly realize you're actually programming with it in a visual manner.

Blueprints supports the core functions, variables, I/O, custom data structures, enumerations, and even execution of defined commands and macros while linking features of the engine, objects, events, and UI elements.

You can use Blueprint to create classes as well, you can use Blueprints alone, C++ alone, or a hybrid of both Blueprints and C++.

In terms of making games or even application development, it really has everything one would need in it's base architecture.

A float is a float and vector is a vector a for loop is a for loop event is an event etc....classes, structures, enumerations.

Tech like networking, already built-in.

Over time more things are being added, and if there's anything not added yet it's simple to add.

The onlytime I can see anyone really needing to access the source code, would be to port to another platform, update the tools for a platform, add some extra core features, plugin development, to learn how things work, find and fix bugs while adding support for more hardware and features, or if you have lots of extra time and want to improve documentation, fix typo's or broken parts, and improve performance adding some newer technology.

If you're a business that has company product with something new to bring to the table, then that would be another great option.

avatar image KnightTechDev Jan 22 '15 at 04:44 AM

But doing it just for UI only, I wouldn't recommend C++ only, artwork and other content is also a major focus. If you have team great!

Here's the main API Documentation: https://docs.unrealengine.com/latest/INT/API/index.html

Here's the Main Site Map Index: https://docs.unrealengine.com/latest/INT/SiteIndex/index.html

Here's the main Programming Documentation: https://docs.unrealengine.com/latest/INT/Programming/index.html

Note: That the editor and all of it's tools as designed are meant to handle the core things in the background and simplify game development by default, hence how the visual interface was designed and it's main purpose in aiding in game development which it does very well.

I'd love to see an assembler version in second from lowest level language version (those debug symbols and syntax would probably drive me crazy though, especially if you had a simpe flag error generated from a simple typo that generated several thousand random error's, that's a nightmare to debug when the print and log portion doesn't dump or break on the exact binary execution point in the registered CPU register or cache block or memory is obfuscated on call break, all due to the architecture and usage of the instruction set and the chosen features, love protype declarations though, the dynamic libraries always ran the code faster in memory even for VB code converted back down to assembler via the compiler) and a VB.NET port would be cool. ;o)

avatar image KnightTechDev Jan 22 '15 at 05:57 AM

After looking at some things a few minutes, it's a simple structure, if you want to delve into some higher level graphical aspects you could look into these.

Start Here for Beginner Friendly Code: https://wiki.unrealengine.com/HUD,_Canvas,_Code_Sample_of_800%2B_Lines,_Create_Buttons_%26_Draw_Materials

Next thing would be to simply review the code in your default template files before getting too complicated, the FPS template is interesting.

For basic higher level check these Unreal Engine API Docs, could've added shader and more settings references but it should be all that's needed:

https://docs.unrealengine.com/latest/INT/API/Runtime/RHI/index.html

https://docs.unrealengine.com/latest/INT/API/Runtime/OpenGLDrv/index.html

https://docs.unrealengine.com/latest/INT/API/Developer/ShaderCompilerCommon/index.html

https://docs.unrealengine.com/latest/INT/API/Developer/SlateReflector/index.html

https://docs.unrealengine.com/latest/INT/API/Developer/SharedSettingsWidgets/index.html

https://docs.unrealengine.com/latest/INT/API/Developer/StandaloneRenderer/index.html

https://docs.unrealengine.com/latest/INT/API/Developer/ModuleUI/index.html

https://docs.unrealengine.com/latest/INT/API/Developer/LogVisualizer/index.html

https://docs.unrealengine.com/latest/INT/API/Developer/GammaUI/index.html

https://docs.unrealengine.com/latest/INT/API/Editor/EditorWidgets/index.html

https://docs.unrealengine.com/latest/INT/API/Runtime/Slate/index.html

https://docs.unrealengine.com/latest/INT/API/Runtime/Slate/Framework/index.html

https://docs.unrealengine.com/latest/INT/API/Runtime/Slate/Widgets/index.html

https://docs.unrealengine.com/latest/INT/API/Runtime/SlateCore/index.html

https://docs.unrealengine.com/latest/INT/API/Runtime/SlateRHIRenderer/Interfaces/index.html

https://docs.unrealengine.com/latest/INT/API/Runtime/UMG/index.html

OpenGL: https://www.opengl.org/

DirectX: https://msdn.microsoft.com/en-us/library/windows/desktop/ee663274(v=vs.85).aspx

Goodluck!

avatar image AndrewM47 Jan 22 '15 at 12:40 PM

Thank you for your answers, this has without a doubt solved my problem. Thank's

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question