I have to say, I felt a bit in over my head in the start of this course, with my only C++ experience being the GameDev Unreal C++ course. And a little Unreal experience before that, but not much (half an online course) But, I pushed through and felt like I got to a good place at the end, even with beating my head against virtual walls a few times. I did most in c++ except for the painting picker which I continued entirely in BP. It was good practice for making blueprint callable functions to switch brushes on the c++ from the blueprint. I’m sure a lot of my code isn’t great, but I’m happy I got it working making it through the list of things I wanted to add!
This is my Mega challenge final project. For the painting portion of the program I added a brush palette for different brush colors. I also implemented a cursor that switches colors based on the active brush and to the laser pointer material in delete mode. Delete mode isn’t constant, it requires a trigger press and deletes all overlapping objects with the cursor mesh. I refactored painting out into components to have a painting and deleting brush component. I was originally just going to incorporate it into the painting controller, but I figured as a learning experience I should try refactoring into components. Some trial and error there, but I got it working. I also moved interactions and painting to the end of the paint brush cursor (since it felt more natural to draw from there). I cheated a bit and added a painting location scene component in cpp, then just moved it to the tip of the brush mesh. Then I just changed the locations to use that location instead of the root location.
For the main menu I added a delete mode and an exit application button. The only part I stole from the github was the screen thumbnail… I basically just lifted that and made the SceneCaptureComponent2D hide Hand Controllers so they didn’t get saved in the screenshot. I did get a little sloppy in my layout in the end, but I’m mostly happy with where it ended up.