How to return a ref to a struct?

Agent Ransack by Mythicsoft is a good tool to scan code. Much better than Explorer.exe or Visual Studio. Beats Github too.

Done searching before you can walk to the coffee machine.

Lots of blueprint nodes you can find by searching “Kismet”. At times it looks like at some time code was supposed to be separated as a “blueprint layer” from c++, by adding function libraries and such, but in the end most of such code got blended into a soup.

In my experience projects get less and less set in stone while they grow if you start with the programming, and not start with writing the core idea on a piece of paper and stick with that from the start. Often in gamedev you’d make a quick demo to present the idea of a game mechanic, but in modern times with game / engine code often being more complex than sending a rocket to the moon, it’s just going to hurt everyone by making such things in blueprints. If the demo succeeds you have to trash all the blueprints and literally create a new project to write c++ for the unportable systems.

So what I do, is write an idea down, (if you need to, do market research etc, plan ahead as much as possible for whatever it is you need.), then I write small plugins that stick to their own core functions. These little plugins can be put online for sale standalone, or combined into a large system, the (project) idea you wrote down at the start. You’ll barely have to trash anything if you can always reuse the individual parts. Blueprints are usually 0% reusable to begin with.

I’m currently publishing some.

Not entirely though. If you create instance A from class X, then create instance B from class X, instance A can access the private data of instance B. Only class X can not access anything private from class Y.

In the end, access specifiers are more of a design tool for programmers to limit how classes can interact with eachother (not instances), and with that, reduce chance of unintended implementations.

It’s also more of a limitation to your own code and not a security feature. It’s possible to bypass entirely in a running program.

2 Likes