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 Vs. Entity Component System

A common pattern-type used in game development is the Entity Component System. Further details of this system can be found here.

http://en.wikipedia.org/wiki/Entity_component_system

UE4 wouldn't be the first engine to use this system, Crysis and Unity both implement this pattern to varying degrees. On the surface it looks like UE4 does too. Was this a conscious decision at Epic or did things just pan out that way? If it was (a conscious decision) then how does UE4's implementation compare to the various textbook versions? How are the fundamental problems with the pattern solved (ie: greater than linear complexity).

PS: I'm no great expert on the subject, nor will most people be who are passing through this thread, so please take the time to teach us a thing or two in your explanation.

Product Version: Not Selected
Tags:
more ▼

asked Feb 22 '15 at 08:30 PM in C++ Programming

avatar image

User-658380556
184 22 36 157

avatar image MickD777 Feb 22 '15 at 10:38 PM

I'm not from Epic, so I post this here as a comment, but having used Unity, UE3 and UE4 and can say that Unity is way more Component based than Unreal is at it's core, BUT Unreal is clearly heading this way.

Unreal 4 will still make you herit from the game base class, like PlayerController, GameMode, HUD, Character, etc which are often themselves child of other classes. Character which is a Pawn which is an Actor which is an Object (I may be forgetting some, I do not have the code in from of me right now).

However, at one point during the UE3 life cycle, Epic seem to have decided to slowly diverge from that model to include the Component object. I remember reading a post about the creation of the "component" in Unreal, I'm not sure if it was new from UE2 to UE3 or if it was "creeping in " UE3, but it was kinda "new" to Unreal (at least from what I remember).

Now, UE4 is a step forward in the Component system, since each Actor that is not a "core" class of the game, is built from components. For example, we now have the SceneComponent that has the Transform information of an object, rather than it being included in Object like it was in UE3.

The Blueprint system is a lot more relatable to Prefab in Unity, with the ability to add the number of Components you want and a clear view of what they are and which is child of which.

I hope this was at least a bit helpful!

Mick

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

1 answer: sort voted first

First of all it is not a very common used pattern, while people using it do their best efforts to spread its usage.

Unreal like Unity is a EC (notice missing the "S") Entity-Component based Game Engine, the difference with the well-known ECS pattern is that logic is still present in components in UE4, I think it is actually possible use a full ECS approach with UE4 (even if not natively supported), the main problem would be for networked code, for which at some point you'll need to pass from an Actor, but apart that you can threat certain Actors as components (pure data) and certain actors as systems (pure logic) without too much issues in UE4. However be aware that I saw no major experimentations with UE4 and ECS pattern so there could be some subtle issue that you will it along the way if you decide to do ECS with UE4.

more ▼

answered May 12 '17 at 02:52 PM

avatar image

Dario Oliveri
0 4 7

(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