Pretty much. But also depending how do you won’t to affect behaviours of game instance. I.e. NPCs.
You could make your self easier, and write game moddable, with assemblies dlls. Basically you compile dlls and then allow other modders to replace them if they need to.
If you let’s say want to do lua way, you are in double work area. Let’s say you want NPC move from A to B, based on other NPC getting close to the tree.
So how do you marry both Unity engine and lua?
You need expose functions to navigate to the point. You need validate, if the way is path able. Now you do this C# or lua side. Is up to you. But Unity has ready solutions for that.
Then you need check for events. So you need to monitor them. Like other NPCs, positions and states, and nearby objecects and npc.
You need functions back and forth between lua and C#. Debugging will be awful. Lua can crash Unity withoth stack trace. You probably will be into the spot of writing major login in lua, and use rendering side on Unity.
I don’t know if you have or not, but based on how you write your questions, you didn’t made any bigger Unity project.
Meaning, you don’t know yet, what you may need. And you will need to know a lot, before jumping into creating moddable game. Otherwise you either trat project as fun and learning exercise withouth obligations, or you get yourself burnout out of frustration and lack of progress.
In my view, you are better of stick for now with C# and learn data driven design.
You will be plenty occupied with this alone 