

I don’t think OOP’s nature makes them necessary, so much so as it enables them and popular programming principles encourage them. I think they’re a good thing, especially if there’s a way around them in case you can’t get the public interface changed and it doesn’t work for you, especially for performance reasons, but that should be done with care.
Funny story, when modding Unity games using external modloaders you’re writing C# code that references the game’s assemblies. And with modding you often need to access something that the developers made private/protected/internal. Now, you can use reflection for that, but a different trick you can use is to publicize the game’s assemblies for referencing in your code, and add an attribute to your assembly that tells the runtime to just… Let you ignore the access checks. And then you can just access everything as public.







I’m on the fence about the topic, but you’ve gotta be dense to believe CSAM has nothing to do here. The accusation is one of CSAM, so the argument is whether the scene is CSAM or not.
In a perfect world the question would be simple, but in the reality we live in, you have to consider if the art will be misused - and that’s assuming the artist is honest about their intentions in the first place.