La gente que se interesa por este mundillo normalmente se hecha para atras por la programacion cuando realmente es la parte mas facil y rapida de hacer (cuando ya tienes una base claro esta, si eres nuevo programando entre que buscas y tal te lleva mas tiempo pero luego es lo que mas rapido se hace.) lo complicado de la parte de programacion son las matematicas y las fisicas por ejemplo el lanzamiento en parabola de una catapulta.
Ten en cuenta que las bases de la programacion son iguales en todos los lenguajes lo unico que cambia es la forma de escribirlo, incluso con construct 2, game maker,etc en todos estas programando lo unico que cambia es que te lo escriben por ti usando mecanismos de arrastrar y conectar modulos.
Una vez dicho esto pasemos a lo que te interesa el engine, aqui no solo entra la programacion piensa que en un principio estas tu solo no eres un equipo, tienes que buscar el que te de mas facilidades no solo para programar, si no animaciones, sonidos,etc. Tambien la documentacion que tiene, desconozco unreal asi que esto me lo invento pero para que quede claro donde quiero llegar, en unity tienes tanto fisicas como para 2d y 3d mientras que a lo mejor en unreal es algo que tienes que programar tu de cero.
Por ultimo mi recomendacion, como dices que ya has hecho cosas aunque no hayas programado tienes una nocion de como y cuando usar un bucle, condicion,etc si aun no quieres meterte en esos lios puedes hacer el esquema en pseudocodigo (que seria muy parecido a programar como los engines que has usado) y luego adaptarlo al lenguaje del motor que hayas usado, las cosas complejas de la programacion o del propio engine como por ejemplo una piscina de objetos, recursos de optimizacion o lo que sea realmente lo iras descubriendo a medida que vas buscando informacion, si no quieres hacer esto y ir directamente al motor yo te recomiendo unity a mi parecer es el que mas gente "novata" usa por lo que encontras ejemplos mas diversos y tutoriales de todo tipo de juegos.