Replies: 1 comment 2 replies
-
Yes, it's possible, but this is out of scope of the project. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi! First of all, great job. I really appreciate the effort being put into this project.
Now, on to the question. From what I gather, this project is aimed at eventually providing a complete .NET scripting option for UE, so people could for example start a blueprint project, add this plugin, and code their entire game in C#. This is a very nice thing to have, even if I have my reservations about how close one can get to C++ code with a 3rd party plugin. Be nice if Epic decided to support this officially.
However, there is another use case for such a plugin: to use .NET libraries as part of a mainly C++ project. Allow me to elaborate.
Let's assume I'm developing a networked turn-based game, say, an online chess game. I wouldn't want to spin up entire UE server processes for each match between two people. I'd probably just include the entire game logic in my monolithic API server and run the matches directly inside it. Naturally, I'd also want to be able to access the same game logic inside my game client to provide UI clues to the player about what they can and can't do, and maybe just simulate the game on the client ahead of time.
Now, if I was developing such a game for Unity, I'd create a .NET standard 2.0 library, put all game logic in there, and share that library between my game client and an ASP.NET Core API server. This code sharing would save me the trouble of having to maintain two versions of the same logic and possibly have them behave differently on edge cases.
If I was doing the same thing in UE and had access to a .NET plugin, I'd want to use that same .NET standard library, and perhaps create a few C++ wrappers around its functionality for easy access from the rest of the code base and blueprints. The question is, is this possible in UnrealCLR?
I know it's generally possible to call into .NET from C++, as this is already being done by the plugin itself. However, I have found nothing explaining how to do it, and whether it's a supported scenario at all.
Beta Was this translation helpful? Give feedback.
All reactions