C# with the burst compiler in Unity is rather cool in this respect. Do normal scripting but have the option to use a restricted subset for C-like code that gets compiled or JIT’ed in performance sensitive jobs.
Too bad in a big project the recompile and asset reload times get annoying in Unity, even with assembly definitions. In one project I used a runtime lua interpreter on top of C# to speed up game scripting.