Hot reload not working with version controlled dlls (Perforce)

I always compile in VS but is only works for me in most cases.
I would compile and then and open the project in another workspace I check for changes, everything was the same but I still have the code missing in ue4. As if the ue4 never sees updated code, even though the all the scripts are there with the changes.

But when I compile in VS the changes from one script is not recognized but when I created a new script and add a debug. Ue4 immediately recognized it.

Is it better to turn off hot reload then?

You said a final compile in VS? What do you mean?
From how I understood it, I would create a c++ plugin in a ue4 project. Choose what type . And then add the content and code. Once done drag and down the plugin folder into the new project for use.
Is there a different way?
Do I use a p4.ignore file to keep the 001,002 versions from committing?