Originally Posted By: AlbertoT


If you define a class Actor which contains a variable such as " position " or a method such as " Move " then you dont need to have a class Transform


Having said that , I dont mean that components are bad, I mean that in my opinion they lead to a ugly code

I did hope that UE4 resumed the old fashion programming style


As stated before, having actor classes with variables such as you list is fine, but a component oriented design does in fact lead to better code in the long run. Imagine you have another class that needs a position, a move method or similiar, but isn't in any way linked to your actor class so deriving is not an option - that'd lead to a lot of duplicated code. Say for example you want skeletal animations - believe me, you'll love to have a reusable transform class then.

You're right in that it's somewhat strange at first, and the component system was one of the reasons why I didn't like using Unity when I just came from Gamestudio (which imho doesn't have any characteristic of component based design, or any solid design whatsoever), but once you get used to it it does make work easier. A nice balance is good, though - I don't like the approach of stuffing EVERYTHING into components, either, there are cases where inheritance is a better solution.
However, with UE4, if all you want to do is create gameplay logic, you won't have to deal with much C++ anyways.