Unreal

In this post I’m going to assume you’re already familiar with the Blueprint tools for UMG (Unreals UI framework). These are definitely the best way to go about designing you interfaces. Who wants to be doing that in C++? But there are good reasons to be using C++ for the logic driving your UI: version-ability, performance or just preference. How can we seamlessly bind our clean, performant C++ to the beautiful UI design created by the editor? This post outlines the tips and tricks I’ve learnt. Basic setup The first thing I suggest you do: make a C++ parent class, it can be empty to begin with but you’ll need to derive from UUserWidget. Then we can go along and re-parent the Blueprint widget to this C++ class. If this seems familiar, good. It’s very common to setup a Blueprint child with a C++ parent. It allows us to put a designer friendly skin on a C++ core. That’s what we’re doing here after all, just as we might with an Actor or Pawn. Creating a Blueprint Widget from C++ You may not want to load you widgets from C++. This is a task commonly accomplished in the Level Blueprint. […]

In this post, Unreal Engine Developer course student Carlos shares his awesome detective work (and code) on getting AI sight perception to custom points… On the way to creating a metal gear solid clone game, I was following the testing grounds videos. I already had guards with Sight sense to detect me. At a certain point I put some barriers, what should then happen is that NPC shouldn’t see me standing up. But what I got was that the NPC was detecting me, which is wrong. I thought maybe the AI Sight perception only sees the actor location (only one point). I started to search for the answer, I asked on gamedev.tv and the Unreal engine forum. Someone suggested I add a sphere collision to the head, add this sphere into a collision channel. It didn’t work, so I continued searching. I googled “Unreal engine 4 head perception” and found this link in this page someone said that I should implement IAISightTargetInterface and override the CanBeSeenFrom method. So, i tried: First include and implements IAISightTargetInterface in the .h file of the character class:

As much as we love gaming and coding (and the sound of our own voices), we also LOVE hearing from you folks. It never ceases to amaze us, the various backgrounds and journeys that have led you to taking our courses. Here we share a steller review from Anders Holmquist, former Ubisoft Technical Director for Tom Clancy’s The Division and the Snowdrop Engine. “I saw that you just responded to my review of the course, so figured I’d shoot of a message here with some more praise. I come from Ubisoft, and used to be the Technical Director for Tom Clancy’s The Division and the Snowdrop Engine, used by many Ubisoft productions. I left Ubisoft earlier this year and started a new game studio, Sharkmob, in Sweden. Unfortunately, I didn’t get to bring the engine I’d built with me, so Unreal it is 🙂 I was looking around for something to get me introduced to UE4 and this course was highly recommended, and it definitely didn’t disappoint! I’ve only skimmed through the parts I was familiar with (C++, source control, etc), but I have to say the depth is truly impressive. I’ve interviewed more than 400 programmers over the years, […]

One of the interesting ideas in trying out a new game concept is known as a game jam. These have a fixed period of time, from a day to a month, to make a game. These games are usually pretty primitive, but try out some new concept. I recently entered a competition known as Ludum Dare, which is the largest and most well known game jam there is. I entered with my game, Jewel Defender, which I won’t talk much about here, but you can see my thoughts and process to making the game at my main blog. I have been studying Ludum Dare for a few years, seeing one of the more well known developers, Quill18, make a game, but haven’t actually entered myself, for a number of reasons. But I decided that this time I was going to try it out. Most game jams present a theme, and this one was “One Room”. I decided I was either going to do a prototype of a game I have had on my backburner list for a long time, or else prototype something that could be used for my Sea Trading game that I’ve mentioned frequently. I ultimately decided to […]

In our latest Udemy course ‘Introducing C++ for Unreal Engine 4 Game Development’ we’re teaching people of all abilities how to create and modify video games using Unreal Engine 4. Alongside Unreal 4, students will also be required to run Visual Studio 2016 Community (for PC) and Xcode for C++ Development (for Mac). This has led to many discussions and questions around when you need to report any earnings from games made on this platform, and other licensing requirements. Below we hope to answer these questions, please be aware that this is merely our interpretation and for full information you should review the licensing terms directly on their websites (links provided below). Unreal Engine 4 Back in March 2015, at the annual Game Developers Conference held in San Francisco, Epic games announced it was opening up its Unreal Engine 4 game engine technology to everyone for free. Tim Sweeney, Epic’s founder and CEO, said the move came after they saw the user base grow 10 times larger when it changed to a $19 monthly subscription model in 2014. “We were blown away by the amount of amazing work that the community was doing with the engine, so this year we […]

Our successful Kickstarter campaign funded the creation of a C++ and Unreal Engine 4 (UE4) online video course. This is a Q&A based on the C++ questions asked during the campaign. What version of the Unreal Engine are you going to use? We are starting the course with version 4.10 and we’ll keep an eye on major releases and changes for newer projects in the course. However, one of the beauties of Object Orientation in C/C++ programming is that you can change the internals of the Engine and the Editor without affecting the developer/designer interfaces. Indeed, these parts of the Engine’s scripting system and the Editor, at least at the beginner level, tend to remain unchanged. I’m impatient. Can you recommend any good C++ tutorials to get a jump start? There are a lot of books out there and it can be very confusing which to pick. For the impatient beginner I really like “C++ programming in easy steps”. Note that strictly speaking C++ programming is a very different job compared with C programming, even though C++ build up on concepts from C and the two can be and are always intermixed.So the sister book “C programming in easy steps” would also give a […]

Blueprint is a wonderful tool, letting you visually assemble code. However there is a point at which its beauty turns into spaghetti, and you’re better-off coding the behaviour in the more powerful and more flexible C++ environment. Here I briefly show how you can call a C++ function from a Blueprint in Unreal Engine. You start off by using the UFUNCTION macro directly above the declaration of the function you want to call from Blueprint, as seen below. In this case the type we are taking in is UChildActorComponent*, a pointer to a child actor component type. We call this variableTurretFromBP. Once you have compiled your code, head over into blueprint. Find something of the same type that you specified in the code, in my case the turret of my tank is a child actor for flexibly. We drag a pin from Tank Turret BT, and in the menu that pops-up there will now be a function called “SetTurretChildActor”. Remember to trigger this set event by using the white execution lines, in this case I’m setting the reference on BeginPlay. So now the reference to the asset has been “soft coded” as opposed to “hard coded”. This means we can rename parts Blueprint […]

This post is a response to a comment posted on the Facebook group made for the C++ and Unreal Engine 4 course at http://ww.facebook.com/groups/unrealcourse/ on the news I shared about the C programming language being the most important language according to the IEEE. The comment was “Assembly is the closest to machine code and is used surprisingly often. C is pretty close too though, but has made some major compromises for the sake of readability.”. I would like to add to this a little specially given my last post here was about choosing a programming language. I write Assembly sometimes for my day job. C/C++ or high level compilers are better at optimising code of course and they save time… Having said this, Assembly will always be needed for this one not-so-unusual situation: When your bare-metal Hardware has features that are so new or too rare that they don’t exist in a C or C++ compiler yet. Mobile and other hardware manufacturers have this problem all the time and if you are a big software/game developer who works with mobile or other Hardware vendors then you certainly need Assembly programmers in your team 🙂 Quite often hardware vendors who design CPUs or GPUs introduce new and very specific […]