Question Is the UnityEngine.dll file in VaM's ../Vam_Data/Managed/ directory different from the Untiy standard UnityEngine.dll file?

zqwvc1419

Member
Messages
79
Reactions
57
Points
18
Is the UnityEngine.dll file in VaM's ../Vam_Data/Managed/ directory different from the Untiy standard UnityEngine.dll file? Did VaM make some custom additions to the Unity standard dll file? Added new methods?
 
Why are you asking this? If you have something in mind, you should have the technical background to check this yourself : )

And if you did a quick research on the internet, you'd find that UnityEngine.dll is rarely modified and some (legal) restrictions might apply since it's Unity's core code.
 
Upvote 0
Vam runs on a rather old version of Unity. Maybe that's what you're seeing. From the Wiki:
The version of Unity that is compatible with VaM assetbundles is version 2018.1.9f1.
 
Upvote 0
Why are you asking this? If you have something in mind, you should have the technical background to check this yourself : )

And if you did a quick research on the internet, you'd find that UnityEngine.dll is rarely modified and some (legal) restrictions might apply since it's Unity's core code.

Thank you for your reply.
My confusion is: someone's code only has:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
But in the code, object instances that do not belong to these classes are created, and then methods that are obviously not from Unity are called. So I wonder if UnityEngine.dll is customized by VaM, but it is obviously not.
Another confusion is that when I clicked the code snippet with CTRL + M1, I found that the cs file of this class was actually in Appdata/local/temp of the C drive. Do you know why this is?
 
Upvote 0
Vam runs on a rather old version of Unity. Maybe that's what you're seeing. From the Wiki:
The version of Unity that is compatible with VaM assetbundles is version 2018.1.9f1.
Thank you for your reply.
My confusion is: someone's code only has:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
But in the code, object instances that do not belong to these classes are created, and then methods that are obviously not from Unity are called. So I wonder if UnityEngine.dll is customized by VaM, but it is obviously not.
Another confusion is that when I clicked the code snippet with CTRL + M1, I found that the cs file of this class was actually in Appdata/local/temp of the C drive. Do you know why this is?

Are all C Sharp class source codes in Appdata of C drive?
For example: Appdata/Local/Temp/****/*****/****/MonoBehaviour.cs
 
Upvote 0
Why are you asking this? If you have something in mind, you should have the technical background to check this yourself : )

And if you did a quick research on the internet, you'd find that UnityEngine.dll is rarely modified and some (legal) restrictions might apply since it's Unity's core code.
:oops: ~ Dude,
:oops: ~ I want to ask you 3 super difficult questions. Look at this line of code:

SuperController.LogError("Exception caught: " + e);

;) ~ I know that this line of code pops up the exception stack information in the red error window of vam.

:oops: ~ Then here are the questions:

1. What is the code that outputs the information to the blue information window?

2. Why is the file where the SuperController class is located in the Appdata/local/temp directory in the C drive of my computer? Instead of somewhere else?

3. I didn't use the namespace of the class where SuperController is located in my .cs file, and the SuperController class has no namespace, but how can it be called in vscode or used in vam without error: for example, error: type or namespace name cannot be found.
 
Upvote 0
:oops: ~ I want to ask you 3 super difficult questions.

  • SuperController.LogMessage is the blue log window
  • SuperController is NOT in you local temp directory. I don't understand what you're refering to, but SuperController is compiled into the dll of VAM
  • Because you're looking at this from a "singular app" perspective. VAM is not. It's a modular game that compiles the script on the fly inside the game. The base VAM namespace are already available inside your script file due to the way they are compiled at scene playthrough.
 
Upvote 0
屏幕截图 2024-10-16 145500.png


屏幕截图 2024-10-16 145550.png


It seems that many important methods in VAM come from the assembly VaM_Data\Managed\Assembly-CSharp.dll.

I think that the unique UnityEngine-based custom functions in VaM are written in this Assembly-CSharp.dll.

Moreover, it seems to be automatically called by Vs Code without using the using statement.

And looking at this SuperController.cs file, it does not specify Namespace, and the class name is declared directly at the beginning. This often leads to cs0229 error: Ambiguity between 'identifier1' and 'identifier2'.

:oops: ~Oh... So hard...
 
Upvote 0
Yes, you should ask more "directly" if you want inputs like this :)

Assembly-CSharp.dll IS the final compilation of all the scripts of a game in general.
You will find what you need in this dll.
Yes, just use this statement in your .csproj file:

<Reference Include="Assembly-CSharp">
<HintPath>../../../../../VaM_Data/Managed/Assembly-CSharp.dll</HintPath>
</Reference>

Yes, we can call the exclusive methods provided by vam at will in the cs code.
And there is no need to use the using statement to declare it.

;) ~ Oh, it's really restful~~
 
Upvote 0
Back
Top Bottom